教案及代码-springmvc第二天课堂笔记_第1页
教案及代码-springmvc第二天课堂笔记_第2页
教案及代码-springmvc第二天课堂笔记_第3页
教案及代码-springmvc第二天课堂笔记_第4页
教案及代码-springmvc第二天课堂笔记_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

springmvcspringmvcHandlerAdapterHandlerHandlerHandlerAdapter的要ModelAndViewModelAndViewString(逻辑视图名、void(Handlerrequestresponseservlet开发方式,注意:responsejson数据输出)View视图:jsp<!--<!--<!--1urlHandler3httprequest请求过来的key/value的数据(理解一个串(参数绑定的一部分key/value串转成model/modelMap(request域)request请求的参数名和形参名称不一致,可以使用@RequestParam(request请求的参数名,@RequestParam加在形参的前边。3pojorequestpojorequestpojo类型又有简单类型,参数绑定互不影响。定义的Converter<源类型,目标类型>接口实现类,比如:Converter<String,Date>java中的日期类型。pojo中的属性类型一致。<!--conversionService--<beanid="conversionService"<property<bean springmvcstruts2,struts2课程安pojo参数绑定(掌握。springmvcvalidation(hibernate校验框架)json数据交互RESTful支持包装类型pojo参数绑商品查询controller第法:在形参中添加HttpServletRequestrequest参数,通过request接收查询条件参数。pojo接收查询条件参数。pojo,pojopojo。controller"/>controller集合类型绑controllerlistlist<pojo>中,比如:成绩录入(录入多门课成绩,批量提交本例子需求:批量商品修改,在页面输入多个商品信息,将多个商品信息提交到controller方法中。controllermappojomapPublicclassQueryVoprivateMap<String,PublicclassQueryVoprivateMap<String,Object>itemInfo=newHashMap<String,}....publicpublicStringuseraddsubmit(Modelmodel,QueryVoqueryVo)throwsException{}springmvc校js校验。对于安全要求较高点建议在服务端进行校验。控制层conroller:校验页面请求的参数的。在服务端控制层conroller校验,不区分客户端类型(浏览service(使用较多service接口中使用的参数。dao:一般是不校验的。springmvchibernatevalidation(hibernate没有任何关系)。controllervalidation进行校验。如果校验出错,将错误信息展示hibernatevalidation所需要jarpojo//注意:@ValidatedBindingResultbindingResult是配对出现,并且形参顺序是固定pojopojocontrollercontrollerpojo进行校验,但是每个controller方法需要不同的校验。定义多个校验分组(java接口,分组中定义有哪些规则controller方法使用不同的校验分组数据回pojo1、springmvcpojopojocontroller方法后,springmvcpojorequest域,keypojo类型(首字母小写)使用@ModelAttributepojorequestkey3、使用最简单方法使用model,可以不用使用最简单方法使用model。model.addAttribute("idid);异常处dao、service、controller出现都通过throwsExceptionspringmvc前端控制器交由异请 异对不同的异常类型定义异常类,继承Exception系统遇到异常,在程序中手动抛出,daoservice、service给controller、controller抛给前端控制器,前端(publicModelAndViewresolveException(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,Exceptionex){ Stringmessage= if(exinstanceof message= (信息为“未 //CustomExceptioncustomException=null;if(exinstanceofCustomException){customException=customExceptionnewCustomException("未知错误}//Stringmessage=ModelAndViewmodelAndView=newmodelAndView.addObject("messagemessage);return}controllerserviceservice中抛出异常。与业务功能没有关系的异常,建议在controller中抛出。service上传在修改商品页面,添加上传商品功能formenctype="multipart/form-data"springmvcmultipart类型的数据进行解析。springmvc.xmlmultipart类型解析器。加入上传的上边的解析下边的jar进行上传创建虚 也可以直接修改tomcat 注意:在虚拟 中,一定将分级创建(提高i/o性能,一般我们采用按日期(年、月、日)进行分上传代controller修改:商品修改controllerjson数据交jsonjson数据格式在接口调用中、html页面中较常用,json格式比较简单,解析还比较方便。比如:webservice接口,传输json数据.请求的是json需要指定contentType=请求的是key/value请求的是json需要指定contentType=请求的是key/value@RequestBody@RequestBody将json串java对象不需要@RequestBodyjava@ResponseBody将@ResponseBody将对象转成json@ResponseBody将对象转成json最终都输出json1、请求json、输出json,要求请求的是json串,所以端页面中需要将请求的内容转成json,不太方便。2key/valuejson。此方法比较常用。jsonjarspringmvc中使用jacksonjson(@requestBody和@responseBody使用下边的包进行json转json<!--<!--<property >注意:如果使用<mvc:annotation-driven/>jsonjsonjsonjsp页jqueryajax提交json串,对输出的jsonjsp页jqueryajax提交key/value串,对输出的json测RESTful支 1urlRESTfulRESTurl:RESTurl风格:特点:urlurl2、http的方urlhttpdeletecontrollerhttpdeletepost执行添加。请求时指定contentTypejson数据,设置成jsontypeREST查询商品信息,返回jsonurlRESTurlid传入controllerjson使用@ResponseBody将javajson (value="itemsView/{id}"):{×××}占位符,请求的URL可以是“/viewItems/1”或如果RequestMap中表示为"/itemsView/{id}",id和形参名称一致,@PathVariable不用指定名称RESTweb.xml 10.1定定义器,实现HandlerInterceptor接口。接口中提供三个方法publicclassHandlerInterceptor1implementsHandlerInterceptor//Handler//用于认证//比如认证,如果认证通过表示当前用户没有登陆,需要此方法不再向下执publicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{//returnfalse表示,不向下执//returntruereturn}publicvoidpostHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,ModelAndViewmodelAndView)throwsException}publicvoid pletion(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,Exceptionex)throwsException{}}10.2器配针对HandlerMap配<property<ref<ref<bean<property<ref<ref<beanid="handlerInterceptor1"<beanid="handlerInterceptor2" 类似全局的10.3测两个器都放 preHandle 器1放行,器2不放 器1放行,器2preHandle才会执行器2preHandle不放行,器2postHandle pletion不会执行10.3.1器1不放行,器2不放器1preHandle不放行,postHandle pletion不会执行器1preHandle不放行,器2不执行器应用(实现登陆认证2、器进行校url,session不存在跳转到登陆页面controllerpublicclassLoginControllerpublicStringlogin(HttpSessionsession,Stringusername,StringthrowsException//调用service进行用户验//在session中保存用户session.setAttribute("username",return}publicStringlogout(HttpSessionsession)throwsException//清除sessionreturn}}登陆认证实代码实publicclassLoginInterceptorimplementsHandlerInterceptor//Handler//用于认证//比如认证,如果认证通过表示当前用户没有登陆,需要此方法不再向下执publicbooleanpreHandle(HttpServlet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论