SpringMVC

SpringMVC 和其他WRE框架一样,他基于MVC设计理念,通过一套MVC注解,让POJO(简单java对象)成为处理请求的控制器,无需实现任何接口,同时,SpringMVC还支持REST风格的URL请求:注解驱动及REST风格的SpringMVC是Spring3.0最出彩的功能之一。此i外,SpringMVC在数据绑定,视图解析、本地化处理及静态资源处理上有着许多不俗的表现。

SpringMVC的关键注释:
@Contronller(写在POJO类名上)

1.S怕ringMVC体系概述
SpringMVC_第1张图片

SpringMVC_第2张图片

在整个框架中、DispatcherServlet 处于核心位置,他负责协调和组织不同组件已完成请求处理并返回相应工作
1、具体的处理流程
1) 整个过程始于客户端发出一个HTTP请求,Web应用服务器接收到这个请求,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),Web容器将该请求转交给DispatcherServlet处理。
2) DispatcherServlet接收到这个请求后,将根据请求的信息及HandlerMapping的配置找到处理请求的处理器(Handler)。注意:Spring MVC中并没有定义一个Handler接口,实际上任何一个Object都可以成为请求处理器。
3) 当DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。HandlerAdapter是Spring MVC的框架级接口,顾名思义,HandlerAdapter是一个适配器,它用统一的接口对各种Handler方法进行调用。
4) 处理器完成业务逻辑的处理后将返回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和模型数据信息。
5) ModelAndView中包含的是“逻辑视图名”而非真正的视图对象,DispatcherServlet借由ViewResolver完成逻辑视图名到真实视图对象的解析工作。
6) 当得到真实的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。
7) 最终客户端得到的响应消息

2、简单基本使用
1.导入java包
com.springsource.org.apache.commons.logging-1.1.1.jar
spring-beans.RELEASE.jar
spring-context.RELEASE.jar
spring-core.RELEASE.jar
spring-expression.RELEASE.jar
spring-web.RELEASE.jar
spring-webmvc.RELEASE.jar
spring-aop.RELEASE
jstl.jar

2.配置web.xml
SpringMVC_第3张图片

配置过滤器第一个限制为 .do结尾的文件可通过,后一个解决乱码问题

3.编写请求处理器

SpringMVC_第4张图片

4.jsp页面只需${msg}接收即可

5.配置springMVC的配置文件,使控制器和视图解析器等生效
配置文件名为:hello(可变)-servlet.xml;(非常重要)
SpringMVC_第5张图片

3、springMVC的转发和重定向
ModelAndView(使用的是转发)

第一种、使用原生的request和response完成转发和重定向
SpringMVC_第6张图片

第二种、以返回字符串的形式,数据的传输可以用Map集合,也可以用session
SpringMVC_第7张图片

4、数据的接收处理
通过URL传参的方式来测试springMVC获取前端数据的方式,前段传一个:login.do?username=”11”;可在方法属性中用String username接收
也可以直接包含username属性对象接收

SpringMVC_第8张图片

@RequestMapping(“/login1.do”)—>从页面传过来的请求,可通过他找到对应的方法
@RequestParam(“username”)String name–>String name和前端页面的username不一致时可用@RequestParam(“username”)来标记

5、乱码的处理
可在Tomcat设置URIEncoding=”utf-8”
或者如上在web.xml中配置

6、文件的上传
1) 导入jar包
com.springsource.org.apache.commons.fileupload-1.2.0.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.commons.io-1.4.0.jar

2)jsp页面
SpringMVC_第9张图片

3)、编写Contorller

SpringMVC_第10张图片

上图为单文件传和多文件上传

4)、在spring配置文件中配置解析器

在上面的hello-servlet.xml中配置

7.文件的下载

SpringMVC_第11张图片

文件下载的关键头部
response.setContentType(“application/x-msdownload”);
response.setHeader(“Content-Disposition”, “attachment;filename=”+fileName);

8、ajax的应用
两种方式交互方式,
一种是发送一个请求数据,返回一个响应的标识数据
一种是获取一个集合的JSON格式数据
请求JSON数据
需导入新的jar包(jar包在备课/lib下面)
jackson-annotations.jar
jackson-core.jar
jackson-databind.jar

还需配置json解析器配置在hello-servelt.xml

页面:
SpringMVC_第12张图片

Controller控制器端的编写

SpringMVC_第13张图片

你可能感兴趣的:(spring-mvc,javaee)