发表于: 2017-08-25 23:02:07

1 916


一、今日学习

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文档。









返回列表 返回列表
评论

    分享到