ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:92.16KB ,
资源ID:24885649      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24885649.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(springMVC教程.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

springMVC教程.docx

1、springMVC教程目录SpringMvc教程 1初识springMVC 1背景 1常见MVC框架比较 2基于spring3.2的 采用annotation方式搭建springMVC环境 2springMVC的RequestMapping的基本设置 7在controller中获取前台传递的参数 9在controller中获取web元素 10将controller中数据传递到jsp页面 11设置跳转方式为重定向或者转发 14视图解析器的配置和使用 15controller中方法的返回值类型 15springMVC的文件上传于下载 19springMVC和jQuery的Ajax结合 23Spri

2、ngMVC拦截器 26sring MVC fromtag 28SpringMvc教程作者:DK 初识springMVC背景Spring 框架提供了构建 Web应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring M

3、VC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。常见MVC框架比较运行性能上: Jsp+servletstruts1spring mvcstruts2+freemarkerstruts2,ognl,值栈。开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。基于spring3.2的 采用annotation方式搭建springMVC环境一

4、、 servlet3.0之前 基于web.xml文件的配置。参考程序:101SpringMVC_servlet2.x_controller1、 上官网下载对应的zip包当然该zip并非最新的。下载地址为:http:/repo.spring.io/webapp/home.html?02、 解压之后得到目录:打开libs会看到会多jar这里边包括了所有的jar和source和doc。当然我们只是需要使用jar就可以了。3、创建空的web项目 目录结构如下:其中user实体类为:public class User private String name; private Integer age; p

5、rivate Date birth; public String getName() return name; public void setName(String name) this.name = name; public User(String name, Integer age, Date birth) super(); this.name = name; this.age = age; this.birth = birth; public Integer getAge() return age; public void setAge(Integer age) this.age = a

6、ge; public Date getBirth() return birth; public void setBirth(Date birth) this.birth = birth; public User() super(); / TODO Auto-generated constructor stub public User(String name) super(); this.name = name; Override public String toString() / TODO Auto-generated method stub return +name+; 4、在项目中添加如

7、下jar文件:spring-webmvc-3.2.0.RELEASE.jarspring-core-3.2.0.RELEASE.jarspring-context-3.2.0.RELEASE.jarspring-beans-3.2.0.RELEASE.jarspring-web-3.2.0.RELEASE.jarcommons-logging.jarspring-expression-3.2.0.RELEASE.jar其中commons-logging.jar请单独下载。5、在web.xml中添加过滤器的配置。 example org.springframework.web.servlet.D

8、ispatcherServlet contextConfigLocation /WEB-INF/spring-servlet.xml 1 example *.do 这个org.springframework.web.servlet.DispatcherServle即为springMVC的核心控制器。其中init-param中配置的是spring的配置文件的文件路径。6、在WEB-INF下添加spring的配置文件spring-servlet.xml 文件内容如下: 其中schemaLocation和xmlns建议直接拷贝。7、创建UserController如下:ControllerReque

9、stMapping(/user.do)public class UserController RequestMapping(params=method=add) public String addUser(Model model) model.addAttribute(message, 添加了一个用户); System.out.println(UserController.addUser(); return /WEB-INF/jsp/addsuc.jsp; 其中RequestMapping(/user.do)的配置是指:该controller的请求url为:user.doRequestMapp

10、ing(params=method=add)的注解是指:凡是请求的url为:user.do而带了参数method=add的请求会由方法addUser来处理。addUser的形参model为后续讲解内容。return /WEB-INF/jsp/addsuc.jsp; 是告诉spring完成处理之后直接进入该视图。8、添加对应的页面,测试请求user.do?method=add一、servlet3.0之后 基于annotation文件的配置。参考程序:102SpringMVC_servlet3.x_controllerservlet3.0之后,servlet使用注解,所以不再使用web.xml文件

11、。Springmvc配置方式如下:删除web.xml和spring-servlet.xml文件。添加类: 参考程序springMVC的RequestMapping的基本设置参考程序:103SpringMVC_servlet3.x_RequestMapping1、 在类的上面注解RequestMapping(/ex.do)意思为所有的ex.do请求全部进入该类处理。如上一章代码中编写RequestMapping(/user.do).所有的user.do请求都会进入该Controller。2、在自定义的controller中会调用有RequestMapping注解字样的方法来处理请求。Contro

12、llerRequestMapping(/user.do)public class UserController RequestMapping public String addUser(Model model) model.addAttribute(message, 添加了一个用户); System.out.println(UserController.addUser(); return /WEB-INF/jsp/addsuc.jsp; 3、当然可以编写多个处理请求的方法,而这些方法的调用都是通过RequestMapping的属性类控制调用的。RequestMapping属性: value:指

13、定请求的实际地址,指定的地址可以是URI Template 模式 (最终请求的url为类的注解的url+方法注解的url) value的uri值为以下三类: A) 可以指定为普通的具体值;如:ControllerRequestMapping(/user)public class UserControllerRequestMapping(value=/some.do) public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception System.out.pr

14、intln(handleRequest); return new ModelAndView(/WEB-INF/jsp/addsuc.jsp); 该注解的是说:请求的url为”user/some.do”就会进入该方法(handleRequest)处理。url:user/some.do B) 可以指定为含有某变量的一类值(URI Template Patterns with Path Variables);如:RequestMapping(value=/userId/delete.do,method=RequestMethod.GET) public String delete(PathVaria

15、ble String userId) System.out.println(delete:+userId); return /WEB-INF/jsp/addsuc.jsp;这个注解:url中带了参数的数据 userId url:user/1123/delete.do 使用PathVariable 指定形参接收url中的数据 C) 可以指定为含正则表达式的一类值( URI Template Patterns with Regular Expressions);如:RequestMapping(value=/userBirth:d4-d2-d2/update.do) public String u

16、pdate(PathVariable String userBirth) System.out.println(userBirth:+userBirth); return /WEB-INF/jsp/addsuc.jsp; 请求的url类似:user/1990-11-11/update.do 使用PathVariable 指定形参接收url中的数据 method: 指定请求的method类型, GET、POST、PUT、DELETE等; (也就是说只有制定类型的请求才会进入该方法处理) consumes: 指定处理请求的提交内容类型(Content-Type),例如application/jso

17、n, text/html; produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回; params: 指定request中必须包含某些参数值是,才让该方法处理。 headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。4、当类没有RequestMapping注解时,则直接参考方法的注解匹配对于的url。如:Controllerpublic class UserControllerControllerRequestMapping(/user.do)public void managerUser()在这里

18、url为user.do则直接使用managerUser处理请求。在controller中获取前台传递的参数参考程序:104SpringMVC_servlet3.x_reviceRequestParam将页面数据传递到controller页面表单: 用户名: 年龄: 生日: Controller为:/* * 1、直接使用形参获取前台传递的参数数据 * 要注意的是形参的名字必须和页面参数的名字一致 * param model * param name * param age * param birth * return */ RequestMapping(method=RequestMethod.

19、POST) public String addUser(Model model,String name,Integer age,Date birth) model.addAttribute(message, 添加了一个用户); System.out.println(name:+name + tage:+age+tbirht:+birth); System.out.println(UserController.addUser(); return /WEB-INF/jsp/addsuc.jsp; /* * 2、使用对象接受前台传递的参数, * 要注意的是前台传递的参数的名称必须和对象的属性名称一直

20、,如果不一致则可以使用ModelAttribute(u)String uname指定 */ RequestMapping(method=RequestMethod.POST) public String addUser(Model model,User user) model.addAttribute(message, 添加了一个用户); System.out.println(name:+user.getName() + tage:+user.getAge()+tbirht:+user.getBirth(); System.out.println(UserController.addUser(

21、); return /WEB-INF/jsp/addsuc.jsp; 在controller中获取web元素参考程序:105SpringMVC_servlet3.x_accessWebElement当某个方法需要使用web对象时(request,response,session,application)可以使用如下方式:除过application其他的对象都可以直接设为方法的形参即可。spring会自动将对应的对象传递给对应的形参。而application对象可以使用session对象获取。当然也可以在方法中使用response对象重定向到其他的url 这时方法最后return的url则可以视

22、作无效。同样的也可以使用request对象转发到其他的url。程序示例:RequestMapping(value=/web.do) public String getWebElement(HttpServletRequest request,HttpServletResponse response,HttpSession session) throws IOException, ServletException System.out.println(使用request获取的前台参数:+request.getParameter(pname); request.setAttribute(messa

23、ge, 这个是request中的数据); session.setAttribute(message, 这个是session中的数据); session.getServletContext().setAttribute(message, 这个是application中的数据); /response.sendRedirect(); /return null; /request.getRequestDispatcher(/WEB-INF/jsp/showData.jsp).forward(request, response); return /WEB-INF/jsp/showData.jsp; 将c

24、ontroller中数据传递到jsp页面参考程序:106SpringMVC_servlet3.x_modelAndView1、可以在controller中获取request对象,然后将数据设置为request对象的属性,然后使用转发的方式进入jsp即可。这一点不赘述。2、将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如: new ModelAndView(/WEB-INF/jsp/showData.jsp,message,message) 其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。 在这里要注意的是 数据是默认被存放在request中的。程序示例: /使用modelAndView对象将数据传递到前台。 RequestMapping(value=/mad/showData_1.do) public ModelAndView showData_1() String message = 这个是要传递的数据; /其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。 /在这里要

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1