




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机信息检索试题及答案
- 轻松应对计算机软件考试题目
- 金融市场的波动与经济政策的相互作用试题及答案
- 2025年法学概论考试应对方案试题及答案
- 监控与日志管理的基本知识测试试题及答案
- 2025年初级会计学知识点总结模版
- 2025年法学概论模拟试卷及答案详解
- 行政管理新框架试题及答案
- 行政法学实践导向试题及答案探讨
- 项目进区协议书
- 济南幼儿师范高等专科学校招聘笔试真题2024
- 2025全国保密教育线上培训考试试题库及答案
- 院感感染培训试题及答案
- 生产经营单位事故隐患内部报告奖励制度
- 2024年呼和浩特市玉泉区消防救援大队招聘政府专职消防员真题
- 【MOOC】灰色系统理论-南京航空航天大学 中国大学慕课MOOC答案
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- GB/T 26659-2011铸造用再生硅砂
- JIS C9335-1-2014 家用和类似用途电器.安全性.第1部分:通用要求
- 高速公路企业如何实现有效的精细化管理艺术
- 晋商成功之道PPT课件
评论
0/150
提交评论