已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spring MVC第一讲:SpringMVC 页面跳转实例,通过请求访问start.jsp页面1.1 加包1.2 web.xml springMVC org.springframework.web.servlet.DispatcherServlet 1 springMVC *.do abc1.3 建springMVC-servlet.xml(注:spring默认要求建立在WEB-INF目录下,并且名称为servlet-name_servlet.xml 1.4 StartController.java package .controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; Controller public class StartController RequestMapping(value=/start) public String start() System.out.println(start method invoked.); return start; 1.5 新建 WEB-INF/page/start.jsp1.6 访问:http:/localhost:8080/springMVC_001/start.do总结:本例子搭建一个简单的spingmvc实例,通过本例学习springMVC最简单的流程及搭建元素。第二讲 灵活指定springmvc映射文件及路径 更多情况下,对于第一讲中的springMVC-servlet.xml 文件,我们并不想去放在WEB-INF,或者说我们可能在一个项目中并不是只有这一个文件,所以本节我们来讲述如何灵活配置此文件及文件名。2.1 修改web.xml springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath*:/com/wdl/cn/config/mvc/*.xml 1 springMVC *.do 2.2 将WEB-INF下面的springMVC-servlet.xml 移动到.config.mvc包下并将其修改名称为springMVC-first.xml2.3 测试原来的路径 : http:/localhost:8080/springMVC_002/start.do总结:本讲主要学习了如何灵活配置springMVC配置文件。下节将重点讲述RequestMapping的使用。第三讲 springMVC_003 RequestMapping的使用3.1 RequestMapping 使用位置 a.使用于方法,此方法则可以被请求访问; b.使用于类,则可以将请求分(又叫分路径,分模块)包处理3.2 将controller类上加RequestMapping,修改StartController.java package .controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; Controller RequestMapping(value=/test) public class StartController RequestMapping(value=/start) public String start() System.out.println(start method invoked.); return start; 3.3 访问:http:/localhost:8080/springMVC_003/test/start.do ,由此可见,可以通过在类上加RequestMapping将请求分路径。3.4 RequestMapping 参数详解 a.value表示访问的路径 b.method 表示请求的方式 GET | POST step1:修改StartController.java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; Controller RequestMapping(value=/test) public class StartController RequestMapping(value=/start,method=RequestMethod.GET) public String start() System.out.println(start method invoked.); return start; RequestMapping(value=/start,method=RequestMethod.POST) public String start2() System.out.println(start2 method invoked.); return start; step2:修改start.jsp模拟POST请求3.5 访问http:/localhost:8080/springMVC_003/test/start.do,接着转到start.jsp页面,接着点击页面的中按钮,发送POST请求,则可以看出不同的请求方式可以调用不同的方法。3.6 参数传递(常用参数传递,restful风格参数传递) a.httpservletreqeust方式参数传递 step1:修改StartController.java package .controllers; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; Controller RequestMapping(value=/test) public class StartController RequestMapping(value=/start,method=RequestMethod.GET) public String start(HttpServletRequest request) System.out.println(start method invoked.); String name = request.getParameter(name); int age = Integer.parseInt(request.getParameter(age); System.out.println(name= + name + age = + age); return start; RequestMapping(value=/start,method=RequestMethod.POST) public String start2() System.out.println(start2 method invoked.); return start; step2:访问:http:/localhost:8080/springMVC_003/test/start.do?name=zhangsan&age=45 b.restfull风格参数传递 step1:修改StartController.java package .controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; Controller RequestMapping(value=/test) public class StartController RequestMapping(value=/start/name/age,method=RequestMethod.GET) public String start(PathVariable(name) String name,PathVariable(age) int age) System.out.println(start method invoked.); System.out.println(name=+name+ age=+age); return start; RequestMapping(value=/start,method=RequestMethod.POST) public String start2() System.out.println(start2 method invoked.); return start; step2:访问时,将参数值加入请求路径 http:/localhost:8080/springMVC_003/test/start/zhangsan/45.do总结:本讲主要讲述请求参数传递,主要掌握HttpServletRequest方式与restfull风格参数传递,下讲主要讲述form表单提交第四讲 form表单提交 使用struts2后,我们习惯将form表单的数据封装成一个对象,这也是面向对象编程的一个思维,本节讲述form表单提交。 具体代码见UserController.java package .controllers; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpSession; import pertyeditors.CustomDateEditor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import .entity.User; Controller RequestMapping(value=/form) public class UserController RequestMapping(value=/add,method=RequestMethod.GET) public String toUserAddPage() System.out.println(toUserAddPage method invoked.); return useradd; RequestMapping(value=/add,method=RequestMethod.POST) public ModelAndView addUser(HttpSession session,User user) System.out.println(addUser method invoked.); System.out.println(user); ModelAndView mav = new ModelAndView(); session.setAttribute(abc, user); mav.setViewName(redirect:/form/add.do); mav.addObject(abc, user); /return useradd; return mav; InitBinder public void initBinder(WebDataBinder binder) binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat(yyyy-MM-dd), false); 注:addUser方法中参数User则是接收请求发过来的参数;initBinder方法则是用来绑定用户提交的数据,前台提交过来的日期,在这里后面并不知情,则由这个方法来处理。总结:本讲主要讲述如何来提交表单数据,并将其封装成一个对象。第五节 一个Controller处理多个请求 很多情况下,我们都想把有关联的请求放在一个controller中,比如,对于一个用户的增删改查,都可以放在一个controller类中。对于springMVC注解的方式有两种方式可以实现。 1.一个controller类中每个处理请求的方法的requestMapping的param中可以带参数,比如:RequestMapping(param=method=method1),在类级别的RequestMapping上面指定请求路径。 package .controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; Controller RequestMapping(value=/manyRequest) public class ReceiveManyRequestController RequestMapping(params=method=method1) public ModelAndView methodOne() System.out.println(method methodOne invoked.); ModelAndView mav = new ModelAndView(ReceiveManyRequest); mav.addObject(msg, 请求第一个方法); return mav; RequestMapping(params=method=method2) public ModelAndView methodTwo() System.out.println(method methodTwo invoked.); ModelAndView mav = new ModelAndView(ReceiveManyRequest); mav.addObject(msg, 请求第二个方法); return mav; 2.每个接收请求的方法的RequestMapping的value中指定请求路径,看ReceveManyReque
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年商丘学院单招综合素质考试必刷测试卷附答案解析
- 2026年大庆职业学院单招综合素质考试题库及答案解析(夺冠系列)
- 2026年山西信息职业技术学院单招综合素质考试必刷测试卷及答案解析(名师系列)
- 2026年南昌交通学院单招职业倾向性考试必刷测试卷及答案解析(名师系列)
- 房屋楼板开裂协议书
- 房屋用电安全协议书
- 房屋装潢改造协议书
- 房屋转三方协议合同
- 房贷债务写合同范本
- 房顶施工免责协议书
- 解一元一次方程移项蕲春县实验中学-胡开明省公开课一等奖全国示范课微课金奖课件
- 《中国高铁介绍》课件
- 《组织卖淫罪》课件
- 糖尿病肥胖治疗
- 2024-2025学年高一上学期期末数学试卷(新题型:19题)(基础篇)(含答案)
- 绿壳蛋鸡生态养殖基地建设项目可行性实施报告
- 国开(陕西)2024年秋《社交礼仪》形考作业1-4答案
- DB11T 854-2023 占道作业交通安全设施设置技术要求
- 人音版小学四年级音乐上册教案全册
- 事业单位员工在职证明模板(9篇)
- DL∕T 5161.5-2018 电气装置安装工程质量检验及评定规程 第5部分:电缆线路施工质量检验
评论
0/150
提交评论