参考讲稿就业springmvc day_第1页
参考讲稿就业springmvc day_第2页
参考讲稿就业springmvc day_第3页
参考讲稿就业springmvc day_第4页
参考讲稿就业springmvc day_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、SpringMVC2、程3、SpringMVC4、SpringMVCSpringMVCPojoPojo6、SpringMVCStruts2List2、@RequestMap注解的使3、Controller方法返回值4、SpringMVC中异常处理5、上传处理6、Json7、SpringMVCRESTful8、器SpringmvcSpringmvcSpringwebmvcStruts2都属于表现层的框架,Spring框架的一部分,我们可Spring的整体结构中看得出来,如下图:SpringmvcwebspringMVCweb工程开发。web工程:web2.5web.xmljarspringMVCjarjar到lib ,工程直接加载jar包,如下图config创建SpringMVC的配置文SpringMVCSpringSpring兼容性很好,不需要做很多配ControllerSpringController进<?xml<?xmlversion="1.0"encoding="UTF-<beansxmlns=""""""controller ponent-scanbase- .springmvc.controller"/>创建包 SpringMVCweb.xml<?xml<?xmlversion="1.0"encoding="UTF-<web-app" id="WebApp_ID"<<<< <<<<SpringMVCSpringMVCSpringMVC的配置文件的默认路径是/WEB-INF/${servlet-name}-servlet.xml--> jsp把参考资料中的itemList.jsp到工程的/WEB- 下,如下图publicclasspublicclassItemprivateintprivateStringprivatedoubleprivateDateprivateString}ItemControllerjava需要在类上添加@ControllerControllerSpring在方法上面添加在方法上面添加publicclassItemController action publicModelAndViewqueryItemList()List<Item>list=new""""""//ModelAndView,用来存放数据和视图ModelAndViewmodelAndViewnewModelAndView();modelAndView.addObject("list",//jsp,需要设置视图的物理地址return}}启动项目,浏览器地springMVCSpringmvc1、用户发送请求至前端控制器2、DispatcherServlet收到请求调用HandlerMap处理器映射器6、Controller执行完成返回7、HandlerAdapter将controller执行结果ModelAndView 11 DispatcherServlet响应用DispatcherServlet: HandlerHandler是继DispatcherServletDispatcherServlet的控制下HandlerHandlAdapter配器可以对类型的处理器进行执行。下图是许多不同的适配器,最终都可以使用usbViewResolverViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视View一般情况下需要通过页面或页面模版技术将模型数据通过页面展示给用springmvc的各个组件中,处理器映射器、处理器适配器、视图解析springmvc的三大组件。##DefaultimplementationclassesforDispatcherServlet'sstrategy#UsedasfallbackwhennomatchingbeansarefoundintheDispatcherServletcontext.#Notmeanttobecustomizedbyapplication org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapteorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHaspringControllerspringmvc.xml配置文件中配置如下: .springmvc.controller"注解式处理器映射器对类中标记了@ResquestMap的方法进行映射根据@ResquestMap定义的url匹配@ResquestMap标记的方法,匹配成功HandlerMethod对象给前端控制器。HandlerMethodurlMethod,从spring3.1版本开始了DefaultAnnotationHandlerMap的使用推荐使用RequestMapHandlerMap完成注解式处理器映射。,springmvc.xml "/>@RequestMap:定义请求url到处理器功能方法的映注解式处理器适配器,对标记@ResquestMap的方法进行适配,从spring3.1版本开始了AnnotationMethodHandlerAdapter的使用推荐使用RequestMapHandlerAdapter完成注解式处理器适配。, HandlerAdapter"/>和RequestMap<mvc:annotation-drivenJSP视图解析springmvc.xml<!--<!--Example:prefix="/WEB-INF/jsp/",suffix=".jsp",viewname="test"-><propertyname="prefix"value="/WEB-INF/jsp/"<propertyname="suffix"value=".jsp"逻辑视图名需要在controller中返回ModelAndViewItemList,则最终返回的jsp“WEB- action publicModelAndViewqueryItemList()List<Item>list=newlist.add(newItem(1, 8",2399,newDate(),//ModelAndView,用来存放数据和视图ModelAndViewmodelAndViewnewModelAndView();return}springmvcmybatisspringmvcmybatisSpring+Mybatis整合完成了吗?完成整合 用整合吗Spring+MybatisSpringmvcsql,位置如下图jarmybatis-spring第连接池jarDaoSqlSessionFactoryspringmybatismapperService1、applicationContext-service.xml包扫描器,扫描@serviceController包扫描器,扫描@ControllerWeb.xmljarjar包到/WEB-INF/lib中jar包mybatisspringMapper相关代码,不需要配置别名。config/mybatisSqlMapConfig.xml<?xml<?xmlversion="1.0"encoding="UTF-<!DOCTYPEPUBLIC"-////DTDConfig <?xmlversion="1.0"encoding="UTF-<?xmlversion="1.0"encoding="UTF-<beansxmlns=""""""" ceholder<bean<propertyname="driverClassName"value="${jdbc.driver}"<propertyname="url"value="${jdbc.url}"<propertyname="username"value="${jdbc.username}"<propertyname="password"value="${jdbc.password}"<propertyname="maxActive"value="10"<propertyname="maxIdle"value="5"<beanid="sqlSessionFactory"<propertyname="dataSource"ref="dataSource"<propertyname="configLocation"value="classpath:mybatis/SqlMapConfig.xml"/><bean<propertyname="basePackage" .ssm.mapper"<?xml<?xmlversion="1.0"encoding="UTF-<beansxmlns="""""""service ponent-scanbase-.ssm.service"<?xml<?xmlversion="1.0"encoding="UTF-<beansxmlns="""""""<bean<propertyname="dataSource"ref="dataSource"<tx:adviceid="txAdvice"transaction- <tx:methodname="save*"propagation="REQUIRED"<tx:methodname="insert*"propagation="REQUIRED"<tx:methodname="delete*"propagation="REQUIRED"<tx:methodname="update*"propagation="REQUIRED"<tx:methodname="find*"propagation="SUPPORTS"read-only="true"/><tx:methodname="get*"propagation="SUPPORTS"read-only="true"/><tx:methodname="query*"propagation="SUPPORTS"read-only="true"/><aop:advisoradvice-pointcut="execution(* .ssm.service.*.*(..))"<?xml<?xmlversion="1.0"encoding="UTF-<beansxmlns="""""" ponent-scanbase-<mvc:annotation-driven<!--Example:prefix="/WEB-INF/jsp/",suffix=".jsp",viewname="test"-><propertyname="prefix"value="/WEB-INF/jsp/"<propertyname="suffix"value=".jsp"<?xmlversion="1.0"encoding="UTF-<web-appxmlns:xsi=" id="WebApp_ID"<<<<<<<<spring<!--使用器加载Spring配置文件--<!--配置SrMVC的前端控制器--jspitemList.jspitemEdit.jspmysqlDAOMyBatis第二天ItemServicepublicpublicinterfaceItemService*List<Item>}ItemServiceImplpublicclassItemServiceImplimplementsItemServiceprivateItemMapperpublicList<Item>queryItemList()List<Item>list=return}}publicclassItemControllerprivateItemService* publicModelAndViewqueryItemList()List<Item>list=ModelAndViewmodelAndView=newreturn}}}url:id查询商品信息,然后展示到页面。url:/itemEdit.actionItemServiceItemServiceItemServiceImplpublicItemqueryItemById(intid)Itemitem=return}idIdRequestRequestid想获得Request对象只需要在Controller方法的形参中添加一个参数即可。SpringmvcRequest*@parampublicModelAndViewqueryItemById(HttpServletRequestrequest)StringstrId=request.getParameter("id");Integerid=Integer.valueOf(strId);Itemitem=ModelAndViewmodelAndView=newreturn}requestresponsesessionsessionModelAndViewModelModel是一个接口,在参数里直接model即可ModelModelAndView对象,Model对象可以向页面传递数据,ViewString返回值替代。ModelModelAndViewRequestjsp传递数*@param@param publicStringqueryItemById(HttpServletRequestrequest,Model{StringstrId=request.getParameter("id");Integerid=Integer.valueOf(strId);Itemitem=//ModelAndViewmodelAndView=new//modelAndView.addObject("item",//return}ModelMapModelModelMapModelModelMapModel,springmvc会实例ModelMap。 *@param@param publicStringqueryItemById(HttpServletRequestrequest,ModelMapmodel){StringstrId=request.getParameter("id");Integerid=Integer.valueOf(strId);Itemitem=//ModelAndViewmodelAndView=new//modelAndView.addObject("item",//return}Request取参数的方法就可以进一步简化。*@param@param publicStringqueryItemById(intid,ModelMapmodel)Itemitem=return}布尔型:Boolean、truefalse1publicStringeditItem(Modelmodel,Integerid,Boolean TTPStatus400-RequiredIntegerparameter'XXXX'isnotpublicStringqueryItemById(@RequestParam(value="itemId",=true,defaultValue="1")Integerid,ModelMapmodelMap){Itemitem=return}pojopojopojoPojo(pojopojoItemServiceItemService*@paramvoidupdateItemById(ItemItemServiceImplItemServiceImplpublicvoidpublicvoidupdateItemById(Itemitem)}*@param@param publicStringupdateItem(Itemitem)return}successsuccess.jsp<%@<%@pagelanguage="java"contentType="text/html;charset=UTF-<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN" <metahttp-equiv="Content-Type"content="text/html;charset=UTF-<title>Inserttitlepostweb.xml中加入: postgettomcat protocol="HTTP/1.1"redirectPort="8443"/>StringuserNameStringuserNameISO8859-1tomcattomcatutf-8pojopublicpublicclassQueryVoprivateItemitem;} publicStringqueryItem(QueryVoqueryVo){returnreturn}由于日期数据有很多种格式,springmvc没办法把字符串转换成日期类型。所以Converter

温馨提示

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

评论

0/150

提交评论