SpringMVC注解及实现面跳转详解_第1页
SpringMVC注解及实现面跳转详解_第2页
SpringMVC注解及实现面跳转详解_第3页
SpringMVC注解及实现面跳转详解_第4页
SpringMVC注解及实现面跳转详解_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、SpringMVC第一讲:SpringMVC 页面跳转实例,通过请求访问 start.jsp 页面1.1 加包1.2 web.xmlspringMVCorg.springframework.web.servlet.DispatcherServlet1|springMVC*.do|abc1.3 建 springMVC-servlet.xml(注:spring 默认要求建立在 WEB-INF 目录下,并且名称为servlet-name_servlet.xml|1.4 StartC.controllers;importorg.springframework.stereotype.Controller

2、;importorg.springframework.web.bind.annotation.RequestMapping;Controller|publicclassStartControllerRequestMapping(value=/start)publicStringstart()System.out.println(startmethodinvoked.);returnstart;|1.5 新建 WEB-INF/page/start.jsp1.6 访问:http:/localhost:8080/springMVC_001/start.do总结:本例子搭建一个简单的 spingmvc

3、 实例,通过本例学习 springMVC 最简单的流程及搭建元素。第二讲灵活指定 springmvc 映射文件及路径更多情况下,对于第一讲中的 springMVC-servlet.xml 文件,我们并不想去放在 WEB-INF,或者说我们可能在一个项目中并不是只有这一个文件,所以本节我们来讲述如何灵活配置此文件及文件名。修改 web.xmlspringMVCorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath*:/com/wdl/cn/config/mvc/*.xml1springMVC*

4、.do|将WEB-INF下面的springMVC-servlet.xml移动到.config.mvc包下并将其修改名称为springMVC-first.xml测试原来的路径:http:/localhost:8080/springMVC_002/start.do总结:本讲主要学习了如何灵活配置 springMVC 配置文件。下节将重点讲述RequestMapping 的使用。第三讲 springMVC_003RequestMapping 的使用RequestMapping 使用位置a.使用于方法,此方法则可以被请求访问;b.使用于类,则可以将请求分(又叫分路径,分模块)包处理将 controll

5、er 类上加RequestMapping,修改 StartC.controllers;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;Controller|RequestMapping(value=/test)|publicclassStartControllerRequestMapping(value=/start)publicStringstart()System.out.println(startmethodinvoke

6、d.);returnstart;访问:http:/localhost:8080/springMVC_003/test/start.do,由此可见,可以通过在类上加RequestMapping 将请求分路径。RequestMapping 参数详解a.value 表示访问的路径b.method 表示请求白方式 GET|POSTstep1:修改 StartController.javaimportorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;

7、importorg.springframework.web.bind.annotation.RequestMethod;ControllerRequestMapping(value=/test)|publicclassStartcontrollerRequestMapping(value=/start,method=RequestMethod.GET)publicStringstart()System.out.println(startmethodinvoked.);returnstart;|)RequestMapping(value=/start,method=RequestMethod.P

8、OST)publicStringstart2()System.out.println(start2methodinvoked.);returnstart;|)step2:修改 start.jsp 模巾以 POST 请求访问 http:/localhost:8080/springMVC_003/test/start.do,接着转到 start.jsp 页面, 接着点击页面的中按钮,发送 POST 请求,则可以看出不同的请求方式可以调用不同的方法。参数传递(常用参数传递,restful 风格参数传递)a.httpservletreqeust 方式参数传递stepl:修改 StartC.contro

9、llers;importjavax.servlet.http.HttpServletRequest;|importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;ControllerRequestMapping(value=/test)publicclassStartcontrollerRequestMapping(va

10、lue=/start,method=RequestMethod.GET)publicStringstart(HttpServletRequestrequest)System.out.println(startmethodinvoked.);Stringname=request.getParameter(name);intage=Integer.parseInt(request.getParameter(age);System.out.println(name=+name+age=+age);returnstart;|RequestMapping(value=/start,method=Requ

11、estMethod.POST)publicStringstart2()System.out.println(start2methodinvoked.);returnstart;|step2:访问:http:localhost:8080/springMVC_003/test/start.do?name=zhangsan&age=45b.restfull 风格参数传递step1:修改 StartC.controllers;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.an

12、notation.PathVariable;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;ControllerRequestMapping(value=/test)|publicclassStartControllerRequestMapping(value=/start/name/age,method=RequestMethod.GET)publicStringstart(PathVariable(

13、name)Stringname,PathVariable(age)intage)System.out.println(startmethodinvoked.);System.out.println(name=+name+age=+age);returnstart;RequestMapping(value=/start,method=RequestMethod.POST)publicStringstart2()System.out.println(start2methodinvoked.);returnstart;step2:访问时,将参数值加入请求路径http:localhost:8080/s

14、pringMVC003/test/start/zhangsan/45.do总结:本讲主要讲述请求参数传递,主要掌握 HttpServletRequest 方式与 restfull 风格参数传递,下讲主要讲述 form 表单提交第四讲 form 表单提交使用 struts2 后,我们习惯将 form 表单的数据封装成一个对象,这也是面向对象编程的一个思维,本节讲述 form 表单提交。具体代码见 UserC.controllers;importjava.text.SimpleDateFormat;importjava.util.Date;|importjavax.servlet.http.Htt

15、pSession;pertyeditors.CustomDateEditor;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.WebDataBinder;importorg.springframework.web.bind.annotation.InitBinder;importorg.springframework.web.bind.annotation.RequestMapping;importorg.s

16、pringframework.web.bind.annotation.RequestMethod;importorg.springframework.web.servlet.ModelAndView;|.entity.User;|Controller|RequestMapping(value=/form)publicclassUserControllerRequestMapping(value=/add,method=RequestMethod.GET)publicStringtoUserAddPage()System.out.println(toUserAddPagemethodinvoke

17、d.);returnuseradd;RequestMapping(value=/add,method=RequestMethod.POST)publicModelAndViewaddUser(HttpSessionsession,Useruser)System.out.println(addUsermethodinvoked.);System.out.println(user);ModelAndViewmav=newModelAndView();session.setAttribute(abc,user);mav.setViewName(redirect:/form/add.do);mav.a

18、ddObject(abc,user);/returnuseradd;returnmav;)InitBinderpublicvoidinitBinder(WebDataBinderbinder)binder.registerCustomEditor(Date.class,newCustomDateEditor(newSimpleDateFormat(yyyy-MM-dd),false);|)注:addUser 方法中参数 User 则是接收请求发过来的参数;initBinder 方法则是用来绑定用户提交的数据,前台提交过来的日期,在这里后面并不知情,则由这个方法来处理。总结:本讲主要讲述如何来提

19、交表单数据,并将其封装成一个对象。第五节一个 Controller 处理多个请求很多情况下,我们都想把有关联的请求放在一个 controller 中,比如,对于一个用户的增删改查,都可以放在一个 controller 类中。对于 springMVC 注解的方式有两种方式可以实现。:.一个 controller 类中每个处理请求的方法的requestMapping 的 param 中可以带参数,比如:RequestMapping(param=method=method1),在类级别的RequestMapping 上面指定请求路径。.controllers;importorg.springfram

20、ework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.servlet.ModelAndView;|ControllerRequestMapping(value=/manyRequest)|publicclassReceiveManyRequestController|RequestMapping(params=method=method1)publicModelAndViewmethodOne()System.o

21、ut.println(methodmethodOneinvoked.);ModelAndViewmav=newModelAndView(ReceiveManyRequest);mav.addObject(msg,请求第一个方法);returnmav;)RequestMapping(params=method=method2)publicModelAndViewmethodTwo()System.out.println(methodmethodTwoinvoked.);ModelAndViewmav=newModelAndView(ReceiveManyRequest);mav.addObject(msg,请求第二个方法);returnmav;).每个接收请求的方法的RequestMapping 的 value 中指定请求

温馨提示

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

评论

0/150

提交评论