最新实战指南PPT课件.ppt
《最新实战指南PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新实战指南PPT课件.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩
2、子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味
3、道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人
4、生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅实战指南目录SpringMVCSpringMVC框架框架框架框架简简介介介介1HTTPHTTP请请求地址映射求地址映射2HTTPHTTP请请求数据的求数据的绑绑定定3数据转换、格式化、校验数据转换、格式化、校验4数据模型控制数据模型控制5视图视图及解析器及解析器6其它其它7Spring MVC进行映射的依据参考Spring 3.x企业应用开发实战通过URL限定:URL表达式 RequestMapping不但支持标准的URL,还支持Ant风格(即
5、?、*和*的字符,参见3.3.2节的内容)的和带xxx占位符的URL。以下URL都是合法的:l/user/*/createUser 匹配/user/aaa/createUser、/user/bbb/createUser等URL。l/user/*/createUser 匹配/user/createUser、/user/aaa/bbb/createUser等URL。l/user/createUser?匹配/user/createUseraa、/user/createUserbb等URL。l/user/userId 匹配user/123、user/abc等URL。l/user/*/userId 匹配
6、user/aaa/bbb/123、user/aaa/456等URL。lcompany/companyId/user/userId/detail 匹配company/123/user/456/detail等的URL。参考Spring 3.x企业应用开发实战通过URL限定:绑定xxx中的值RequestMapping(/userId)public ModelAndView showDetail(PathVariable(userId)String userId)ModelAndView mav=new ModelAndView();mav.setViewName(user/showDetail);
7、mav.addObject(user,userService.getUserById(userId);return mav;ControllerRequestMapping(/owners/ownerId)public class RelativePathUriTemplateController RequestMapping(/pets/petId)public void findPet(PathVariable String ownerId,PathVariable String petId,Model model)URL中的xxx占位符可以通过PathVariable(xxx)绑定到操作
8、方法的入参中。如果PathVariable不指定参数名,只有在编译时打开debug开关(javac-debug=no)时才可行!(不建议)参考Spring 3.x企业应用开发实战通过请求方法限定:请求方法序号序号请求方法请求方法说明说明1GET使用GET方法检索一个表述(representation)也就是对资源的描述。多次执行同一GET请求,不会对系统造成影响,GET方法具有幂等性指多个相同请求返回相同的结果。GET请求可以充分使用客户端的缓存。2POSTPOST方法,通常表示“创建一个新资源”,但它既不安全也不具有幂等性(多次操作会产生多个新资源)。3DELETEDELETE,表示删除一个
9、资源,你也可以一遍又一遍地操作它,直到得出结果:删除不存在的东西没有任何问题4PUT幂等性同样适用于PUT(基本的含义是“更新资源数据,如果资源不存在的话,则根据此URI创建一个新的资源”)请求方法,在HTTP中这被叫做动词(verb),除了两个大家熟知的(GET和POST)之外,标准方法集合中还包含PUT、DELETE、HEAD和OPTIONS。这些方法的含义连同行为许诺都一起定义在HTTP规范之中。一般浏览器只支持GET和POST方法。参考Spring 3.x企业应用开发实战通过请求方法限定:代码示例示例1:RequestMapping(value=“/delete”)public Str
10、ing test1(RequestParam(userId)String userId)return user/test1;所有URL为/delete的请求由test1处理(任何请求方法)示例2:RequestMapping(value=/delete,method=RequestMethod.POST)public String test1(RequestParam(userId)String userId)return user/test1;所有URL为/delete 且请求方法为且请求方法为POST的请求由test1处理参考Spring 3.x企业应用开发实战通过请求方法限定:模拟请求方
11、法 通过在web.xml中配置一个org.springframework.web.filter.HiddenHttpMethodFilter通过POST请求的_method参数指定请求方法,HiddenHttpMethodFilter动态更改HTTP头信息。HiddenHttpMethodFilterPOST HTTP请求method=PUT&.Spring MVCPUT HTTP请求参考Spring 3.x企业应用开发实战通过请求/请求头参数限定:示例RequestMapping(value=/delete,params=userId)public String test1(RequestP
12、aram(userId)String userId).RequestMapping(value=/show,headers=content-type=text/*)public String test2(RequestParam(userId)String userId).通过请求参数限定:通过请求参数限定:通过请求头参数限定:通过请求头参数限定:参考Spring 3.x企业应用开发实战通过请求/请求头参数限定:更多 params和headers分别通过请求参数及报文头属性进行映射,它们支持简单的表达式,下面以params表达式为例说明,headers可以参照params进行理解之。lpara
13、m1:表示请求必须包含名为param1的请求参数。l!param1:表示请求不能包含名为param1的请求参数。lparam1!=value1:表示请求包含名为param1的请求参数,但其值不能为value1。lparam1=value1,param2:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1。参考Spring 3.x企业应用开发实战目录Spring MVCSpring MVC框架框架简简介介1HTTPHTTP请请求地址映射求地址映射2HTTPHTTP请请求数据的求数据的求数据的求数据的绑绑定定定定3数据转换、格式化、校验数据转换、格式
14、化、校验4数据模型控制数据模型控制5视图视图及解析器及解析器6其它其它7通过注解绑定:示意图public String handle1(.)RequestParam绑定请求参数RequestHeader绑定请求头参数CookieValue绑定Cookie的值PathVariable绑定URL中的变量参考Spring 3.x企业应用开发实战通过注解绑定:示例RequestMapping(value=/handle1)public String handle1(RequestParam(userName)String userName,RequestParam(password)String pa
15、ssword,RequestParam(realName)String realName).RequestMapping(value=/handle2)public String handle2(CookieValue(JSESSIONID)String sessionId,RequestHeader(Accept-Language)String accpetLanguage).参考Spring 3.x企业应用开发实战通过注解绑定:小心抛出异常RequestParam有以下三个参数。lvalue:参数名。lrequired:是否必需,默认为true,表示请求中必须包含对应的参数名,如果不存在将
16、抛出异常。ldefaultValue:默认参数名,设置该参数时,自动将required设为false。极少情况需要使用该参数,也不推荐使用该参数。RequestMapping(value=/handle1)public String handle1(RequestParam(userName)String userName,).上面的处理方法,如果HTTP请求不包含“userName”参数时,将产生异常!因此,如果不能保证存在”userName”的参数,必须使用:RequestParam(value=userName,required=false)参考Spring 3.x企业应用开发实战使用命
17、令/表单对象绑定 所谓命令/表单对象并不需要实现任何接口,仅是一个拥有若干属性的POJO。Spring MVC按:“HTTP请求参数名请求参数名=命令命令/表单对象的属性名表单对象的属性名”的规则,自动绑定请求数据,支持“级联属性名”,自动进行基本类型数据转换。RequestMapping(value=/handle14)public String handle14(Useruser)userName=xxx&password=yyyclass User private String userName;private String password;参考Spring 3.x企业应用开发实战使用
18、Servlet API对象作为入参 在Spring MVC中,控制器类可以不依赖任何Servlet API对象,但是Spring MVC并不阻止我们使用Servlet API的类作为处理方法的入参。值得注意的是,如果处理方法自行使用HttpServletResponse返回响应,则处理方法的返回值设置成void即可。RequestMapping(value=/handle21)public void handle21(HttpServletRequest request,HttpServletResponse response)String userName=WebUtils.findPara
19、meterValue(request,userName);response.addCookie(new Cookie(userName,userName);public String handle23(HttpSessionsession)session.setAttribute(sessionId,1234);return success;public String handle24(HttpServletRequest request,RequestParam(userName)String userName)return success;使用Spring的Servlet API代理类 S
20、pring MVC在org.springframework.web.context.request包中定义了若干个可代理Servlet原生API类的接口,如WebRequest和NativeWebRequest,它们也允许作为处理类的入参,通过这些代理类可访问请求对象的任何信息。RequestMapping(value=/handle25)public String handle25(WebRequestrequest)String userName=request.getParameter(userName);return success;参考Spring 3.x企业应用开发实战使用IO对象
21、作为入参Spring MVC允许控制器的处理方法使用java.io.InputStream/java.io.Reader及java.io.OutputStream/java.io.Writer作为方法的入参RequestMapping(value=/handle31)public void handle31(OutputStream os)throws IOException Resource res=new ClassPathResource(/image.jpg);/读取类路径下的图片文件 FileCopyUtils.copy(res.getInputStream(),os);/将图片写到
22、输出流中Spring MVC将获取ServletRequest的InputStream/Reader或ServletResponse的OutputStream/Writer,然后按类型匹配的方式,传递给控制器的处理方法入参。参考Spring 3.x企业应用开发实战其他类型的参数 控制器处理方法的入参除支持以上类型的参数以外,还支持java.util.Locale、java.security.Principal,可以通过Servlet的HttpServletRequest 的getLocale()及getUserPrincipal()得到相应的值。如果处理方法的入参类型为Locale或Princ
23、ipal,Spring MVC自动从请求对象中获取相应的对象并传递给处理方法的入参。RequestMapping(value=/handle32)public void handle31(Locale locale)throws IOException .HttpMessageConverterHttpServletRequestHttpServletRequestRequestBody/HttpEntityResponseBody/ResponseEntityHttpMessageConverterHTTP请求报文HTTP请求报文HttpMessageConverter实现类Annotati
24、onMethodHandlerAdapter实现类:StringHttpMessageConverterFormHttpMessageConverterXmlAwareFormHttpMessageConverterResourceHttpMessageConverterBufferedImageHttpMessageConverterByteArrayHttpMessageConverterSourceHttpMessageConverterMarshallingHttpMessageConverterJaxb2RootElementHttpMessageConverterMappingJa
25、cksonHttpMessageConverterRssChannelHttpMessageConverterAtomFeedHttpMessageConverter注册到.HttpMessageConverter接口方法T read(HttpInputMessage httpInputMessage)void write(T t,HttpOutputMessage httpOutputMessage)使用RequestBody/ResponseBody 将HttpServletRequest的getInputStream()内容绑定到入参,将处理方法返回值写入到HttpServletResp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 实战 指南 PPT 课件
限制150内