发表于: 2016-08-02 22:56:54

1 2139


今天完成的事情

准备工作

在eclipse下创建动态web工程spring

第一步:前端控制器配置

在WEB-INF\web.xml中配置前端控制器,

<servlet>

<servlet-name>spring</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc-servlet.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>


<servlet-mapping>

<servlet-name>spring</servlet-name>

<url-pattern>*.action</url-pattern>

</servlet-mapping>

-------contextConfigLocation:指定springmvc配置的加载位置,如果不指定则默认加

载WEB-INF/[DispatcherServlet 的Servlet 名字]-servlet.xml。

第二步:springmvc配置文件

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc-servlet.xml</param-value>

</init-param>


第三步 配置处理器映射器

<!-- 处理器映射器 -->

<!-- 根据bean的name进行查找Handler 将action的url配置在bean的name中 -->

<bean

class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

BeanNameUrlHandlerMapping:表示将定义的Bean名字作为请求的url,需要将编写的controller在spring容器中进行配置,且指定bean的name为请求的url,且必须以.action结尾。



第四步 配置处理器适配器

在springmvc-servlet.xml文件配置如下:

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> 

-------SimpleControllerHandlerAdapter:即简单控制器处理适配器,所有实现了org.springframework.web.servlet.mvc.Controller 接口的Bean作为

Springmvc的后端控制器。


第五步 配置视图解析器

在springmvc-servlet.xml文件配置如下:


<!-- ViewResolver -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

<property name="prefix" value="/WEB-INF/jsp/"/>

<property name="suffix" value=".jsp"/>

</bean>


-------InternalResourceViewResolver:支持JSP视图解析

viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl的相关jar 包;

prefix 和suffix:查找视图页面的前缀和后缀,最终视图的址为:

前缀+逻辑视图名+后缀,逻辑视图名需要在controller中返回ModelAndView指定,比如逻辑视图名为hello,则最终返回的jsp视图地址 “WEB-INF/jsp/hello.jsp”


第六步 后端控制器开发

后端控制器即controller,也有称为action。


importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importorg.springframework.web.servlet.ModelAndView;

importorg.springframework.web.servlet.mvc.Controller;

public class HelloWorldController implements Controller {

@Override

publicModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws

Exception {

ModelAndView mv = new ModelAndView();

//添加模型数据

mv.addObject("message", "Hello World!");

//设置逻辑视图名,最终视图地址=前缀+逻辑视图名+后缀

mv.setViewName("hello");

returnmv;

}

}

-------org.springframework.web.servlet.mvc.Controller:处理器必须实现Controller 接口。

ModelAndView:包含了模型数据及逻辑视图名


第七步 后端控制器配置

在springmvc-servlet.xml文件配置如下:


<!--处理器-->

<bean name="/hello.action"

class="springmvc.action.HelloWorldController"/>


name="/hello.action":前边配置的BeanNameUrlHandlerMapping,表示如过请求的URL 为“上下文/hello.action”,则将会

交给该Bean进行处理。


第八步:视图开发

创建/WEB-INF/jsp/hello.jsp视图页面:


<%@ 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>

<!-- 显示一行信息hello world!!!! -->

${message}

</body>

</html>


-------${message}:表示显示由HelloWorldController处理器传过来的模型数据。


第九步:部署在tomcat测试


明天计划的事情:明天梳理springMVC和mybatis的整合,在进一步学习spring的知识,并且复习之前所学。

遇到的问题:今天在最后部署tomcat的最后时候总是出一些奇葩的错误,通过一中午外加小半个下午的时间通过搜索资料,以及请教丁杰师兄的大力帮助下才解决掉,真心感谢丁杰师兄的帮忙。最终竟然是没有生成   .class文件,导致找不到文件,然后原因竟然是没有自动编译。。。,project--Automatically勾选就解决了,大家不要犯我这样低级错误。。。

收获:springMvc才刚刚入门,还差的很远。





返回列表 返回列表
评论

    分享到