发表于: 2017-08-25 23:02:07
1 914
一、今日学习
1.了解Java EE应用的基本概念
1)做task1过程中,学习各个论坛的教程,发现有些项目的pojo、dao类、service类全部放在src\main\java目录下,而另外一些项目建立较为完整的结构,在src\main\java目录下创建了model、dao、service、controller等目录。当时对这些差异感到十分地迷糊,通过了解分层模型,对松耦合有了较为丰富的认识。在上图所示的经典架构中,从上到下,上面组件的实现依赖于下面组件的功能;从下向上,下面组件支持上面组件的实现。这样的方式便于后期的扩展。
2)了解遵循MVC(Model、View和Controller)模式的Java web的运行流程
2.学习Spring MVC框架如何使用,通过复现工具书上的小project,来认识该框架的基本要素和特征。
1)首先通过IDEA新建maven web项目,引入Spring Framework支持,添加相关dependencies及统一设置版本的方法在之前的日报中已经详细说明,在此不赘述。
2)配置front controller——DispatcherServlet。昨天的日报里讲解了DispatcherServlet的机制,它提供了一个入口来处理web应用程序的所有请求,被称之为front controller pattern。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3)配置Controller
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<!-- 配置Handle,映射"/hello"请求 -->
<bean name="/hello" class="org.fkit.controller.HelloController"/>
<!-- 处理映射器将bean的name作为url进行查找,需要在配置Handle时指定name(即url) -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!-- SimpleControllerHandlerAdapter是一个处理器适配器,所有处理适配器都要实现 HandlerAdapter接口-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
</beans>
4)Controller类的实现
public class HelloController implements Controller{
private static final Log logger = LogFactory.getLog(HelloController.class);
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
logger.info("handleRequest 被调用");
// 创建准备返回的ModelAndView对象,该对象通常包含了返回视图的路径、模型的名称以及模型对象
ModelAndView mv = new ModelAndView();
// 添加模型数据 可以是任意的POJO对象
mv.addObject("message", "Hello World!");
// 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
mv.setViewName("/WEB-INF/content/welcome.jsp");
// 返回ModelAndView对象。
return mv;
}
5)View页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>欢迎页面</title>
</head>
<body>
<!-- 页面可以访问Controller传递传递出来的message -->
${requestScope.message}
</body>
</html>
使用Tomcat部署应用,在浏览器中查看结果这一步骤并未完成
二、明日计划
1.学习使用注解配置Spring MVC;
2.学习使用JSP处理表单;
3.整理Spring MVC常用注解的含义与使用方法。
三、遇到问题
从进入修真院开始线上学习以来,一直使用IDE是IDEA,在网上看到的大量项目都是基于eclipse完成的;另外据师兄讲目前行业里使用eclipse进行项目开发的企业比例也较高,但是自己对这一工具比较陌生。工欲善其事,必先利其器。计划每天抽出一小时时间来学习使用eclipse进行project重建。
四、收获
除了今日完成中提及,还学习了《Java 核心技术 基础卷》的知识点;因为是英文版内容,即使是简单的概念阅读起来也相当吃力,但是通过查词典对照译本把书啃下来,也利于以后阅读API文档。
评论