码迷,mamicode.com
首页 > 其他好文 > 详细

入门案例

时间:2016-08-21 22:34:26      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

将spring-framework-3.1.1.RELEASE-with-docs.zip/dist/下的所有jar 包拷贝到项目的WEB-INF/lib 目录下;2、 Spring 框架依赖的 jar 包:

需要添加 Apache commons logging 日志,此处使用的是 commons.logging-1.1.1.jar;

需要添加 jstl 标签库支持,此处使用的是 jstl-1.1.2.jar 和 standard-1.1.2.jar;

 

技术分享

load-on-startup:表示启动容器时初始化该 Servlet;

url-pattern:表示哪些请求交给 Spring Web MVC 处理, “/” 是用来定义默认 servlet 映射的。也可以如“*.html”表示拦截所有以 html 为扩展名的请求。

自此请求已交给 Spring Web MVC 框架处理,因此我们需要配置 Spring 的配置文件,默认 DispatcherServlet 会加

载 WEB-INF/[DispatcherServlet 的 Servlet 名字 ]-servlet.xml 配置文件。本示例为 WEB-INF/ chapter2-servlet.xml。

 

Spring 配置文件中配置 HandlerMapping、HandlerAdapter

 技术分享

BeanNameUrlHandlerMapping:表示将请求的 URL 和 Bean 名字映射,如 URL 为 “上下文/hello”,则 Spring 配置文件

必须有一个名字为“/hello”的 Bean,上下文默认忽略。

SimpleControllerHandlerAdapter:表示所有实现了 org.springframework.web.servlet.mvc.Controller 接口的 Bean 可以作为

Spring Web MVC 中的处理器。如果需要其他类型的处理器可以通过实现 HadlerAdapter 来解决。

 

 

Spring 配置文件中配置 ViewResolver

 技术分享

InternalResourceViewResolver:用于支持 Servlet、JSP 视图解析;viewClass:JstlView 表示 JSP 模板页面需要使用 JSTL 标签库,classpath 中必须包含 jstl 的相关 jar 包;

prefix 和 suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),比如传进来的逻辑视图名为 hello,则该该

jsp 视图页面应该存放在“WEB-INF/jsp/hello.jsp”;

 

开发处理器/页面控制器

 技术分享

org.springframework.web.servlet.mvc.Controller:页面控制器/处理器必须实现 Controller 接口

public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) :功能处

理方法,实现相应的功能处理,比如收集参数、验证参数、绑定参数到命令对象、将命令对象传入业务对象进行业务处理、最后返回 ModelAndView 对象;ModelAndView:包含了视图要实现的模型数据和逻辑视图名;“mv.addObject("message", "Hello World!");

”表示添加模型数据,此处可以是任意 POJO 对象;“mv.setViewName("hello");”表示设置逻辑视图名为“hello”,视图解析器会将其解析为具体的视图,如前边的视图解析器 InternalResourceVi。wResolver 会将其解析为“WEB-INF/jsp/hello.jsp”。

 

 

我们需要将其添加到 Spring 配置文件(WEB-INF/chapter2-servlet.xml),让其接受 Spring IoC 容器管理:

 技术分享

name="/hello":前边配置的 BeanNameUrlHandlerMapping,表示如过请求的 URL 为 “上下文/hello”,则将会交给该 Bean 进行处理。

 

开发视图页面

 技术分享

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

 

 技术分享

技术分享

技术分享

到此 HelloWorld 就完成了,步骤是不是有点多?而且回忆下我们主要进行了如下配置:

 

1、 前端控制器 DispatcherServlet;

2、 HandlerMapping

3、 HandlerAdapter

4、 ViewResolver

5、 处理器/页面控制器

6、 视图

 

 

POST 中文乱码解决方案

spring Web MVC 框架提供了 org.springframework.web.filter.CharacterEncodingFilter 用于解决 POST 方式造成的中文乱码

 技术分享

 

 

 技术分享

技术分享

 

入门案例

标签:

原文地址:http://www.cnblogs.com/doudouxiaoye/p/5793617.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!