您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > SpringMVC4教程-超权威超详细
•SpringMVC教程内容概要•1.SpringMVC概述•2.SpringMVC的HelloWorld•3.使用@RequestMapping映射请求•4.映射请求参数&请求头•5.处理模型数据•6.视图和视图解析器•7.RESTfulCRUD•8.SpringMVC表单标签&处理静态资源•9.数据转换&数据格式化&数据校验••••10.处理JSON:使用HttpMessageConverter11.国际化12.文件的上传13.使用拦截器•14.异常处理•15.SpringMVC运行流程•16.在Spring的环境下使用SpringMVC•17.SpringMVC对比Struts2内容概要•SpringMVC概述•SpringMVC的HelloWorld•使用@RequestMapping映射请求•映射请求参数&请求头•处理模型数据•视图和视图解析器•RESTfulCRUD•SpringMVC表单标签&处理静态资源•数据转换&数据格式化&数据校验•处理JSON:使用HttpMessageConverter•国际化•文件的上传•使用拦截器•异常处理•SpringMVC运行流程•在Spring的环境下使用SpringMVC•SpringMVC对比Struts2SpringMVC概述•Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一•Spring3.0后全面超越Struts2,成为最优秀的MVC框架•SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口。•支持REST风格的URL请求•采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性HelloWorld•步骤:–加入jar包–在web.xml中配置DispatcherServlet–加入SpringMVC的配置文件–编写处理请求的处理器,并标识为处理器–编写视图HelloWorld:加入jar包•jar包:–commons-logging-1.1.3.jar–spring-aop-4.0.0.RELEASE.jar–spring-beans-4.0.0.RELEASE.jar–spring-context-4.0.0.RELEASE.jar–spring-core-4.0.0.RELEASE.jar–spring-expression-4.0.0.RELEASE.jar–spring-web-4.0.0.RELEASE.jar–spring-webmvc-4.0.0.RELEASE.jarHelloWorld:配置web.xml•配置DispatcherServlet:DispatcherServlet默认加载/WEB-INF/servletName-servlet.xml的Spring配置文件,启动WEB层的Spring容器。可以通过contextConfigLocation初始化参数自定义配置文件的位置和名称HelloWorld:创建SpringMVC配置文件•配置自动扫描的包•配置视图解析器:视图名称解析器:将视图逻辑名解析为:/WEB-INF/pages/viewName.jspHelloWorld:创建请求处理器类url-pattern*.action/url-pattern/servlet-mappingspringmvc-1/helloWorld.actionurlservlet-mappingservlet-namedispatcherServlet/servlet-name@ControllerpublicclassHelloWorldController{@RequestMapping(/helloWorld)publicStringhelloWolrd(){System.out.println(HelloWorldSpringMVC);returnsuccess;}}beanclass=org.springframework.web.servlet.view.InternalResourceViewResolverpropertyname=“prefix”value=“/WEB-INF/view//propertypropertyname=suffixvalue=.jsp/property/bean/WEB-INF/view/success.jspweb.xmlHandlerSpringMVC配置文件实际的物理视图内容概要•SpringMVC概述•SpringMVC的HelloWorld•使用@RequestMapping映射请求•映射请求参数&请求头•处理模型数据•视图和视图解析器•RESTfulCRUD•SpringMVC表单标签&处理静态资源•数据转换&数据格式化&数据校验•处理JSON:使用HttpMessageConverter•国际化•文件的上传•使用拦截器•异常处理•SpringMVC运行流程•在Spring的环境下使用SpringMVC•SpringMVC对比Struts2使用@RequestMapping映射请求•SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求•在控制器的类定义及方法定义处都可标注@RequestMapping–类定义处:提供初步的请求映射信息。相对于WEB应用的根目录–方法处:提供进一步的细分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录•DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法。使用@RequestMapping映射请求示例类定义处标记的@RequestMapping限定了处理器类可以处理所有URI为/hello的请求,它相对于WEB容器部署的根路径处理器类可以定义多个处理方法,处理来自/hello下的请求映射请求参数、请求方法或请求头•标准的HTTP请求报头①请求方法②请求URL③HTTP协议及版本④报文头⑤报文体映射请求参数、请求方法或请求头•@RequestMapping除了可以使用请求URL映射请求外,还可以使用请求方法、请求参数及请求头映射请求•@RequestMapping的value、method、params及heads分别表示请求URL、请求方法、请求参数及请求头的映射条件,他们之间是与的关系,联合使用多个条件可让请求映射更加精确化。•params和headers支持简单的表达式:–param1:表示请求必须包含名为param1的请求参数–!param1:表示请求不能包含名为param1的请求参数–param1!=value1:表示请求包含名为param1的请求参数,但其值不能为value1–{“param1=value1”,“param2”}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1映射请求参数、请求方法或请求头使用@RequestMapping映射请求•Ant风格资源地址支持3种匹配符:–?:匹配文件名中的一个字符–*:匹配文件名中的任意字符–**:**匹配多层路径•@RequestMapping还支持Ant风格的URL:–/user/*/createUser:匹配/user/aaa/createUser、/user/bbb/createUser等URL–/user/**/createUser:匹配/user/createUser、/user/aaa/bbb/createUser等URL–/user/createUser??:匹配/user/createUseraa、/user/createUserbb等URL@PathVariable映射URL绑定的占位符••带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展过程中具有里程碑的意义••通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{xxx}占位符可以通过•@PathVariable(xxx)绑定到操作方法的入参中。REST•REST:即RepresentationalStateTransfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用•资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI即为每一个资源的独一无二的识别符。•表现层(Representation):把资源具体呈现出来的形式,叫做它的表现层(Representation)。比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式。•状态转化(StateTransfer):每发出一个请求,就代表了客户端和服务器的一次交互过程。HTTP协议,是一个无状态协议,即所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生“状态转化”(StateTransfer)。而这种转化是建立在表现层之上的,所以就是“表现层状态转化”。具体说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。REST•示例:–/order/1HTTPGET:得到id=1的order–/order/1HTTPDELETE:删除id=1的order–/order/1HTTPPUT:更新id=1的order–/orderHTTPPOST:新增order•HiddenHttpMethodFilter:浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,Spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求。@PathVariable绑定URL占位符到入参••带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展过程中具有里程碑的意义••通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{xxx}占位符可以通过•@PathVariable(xxx)绑定到操作方法的入参中。内容概要•SpringMVC概述•SpringMVC的HelloWorld•使用@RequestMapping映射请求•映射请求参数&请求参数•处理模型数据•视图和视图解析器•RESTfulCRUD•SpringMVC表单标签&处理静态资源•数据转换&数据格式化&数据校验•处理JSON:使用HttpMessageConverter•国际化•文件的上传•使用拦截器•异常处理•SpringMVC运行流程•在Spring的环境下使用SpringMVC•SpringMVC对比Struts2请求处理方法签名•SpringMVC通过分析处理方法的签名,将HTTP请求信息绑定到处理方法的相应人参中。•SpringMVC对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。•必要时可以对方法及方法入参标注相应的注解(@PathVariable、@RequestParam、@RequestHeader等)、SpringMVC框架会将HTTP请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。
本文标题:SpringMVC4教程-超权威超详细
链接地址:https://www.777doc.com/doc-1915598 .html