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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

springmvc简单总结.docx

1、springmvc简单总结Springmvc的简单总结一:springmvc的简单了解1. .Springmvc是spring的web框架围绕DispatcherServlet设计的。DispatchServlet的作用是将请求分发到不同的处理器。Spring的web框架可以包括可配置的处理器(Handlder)映射,视图(view)解析,本地化(local)解析,主题(theme)解析以及对文件上传的支持等2. springmvc的请求模式:3. 其实,每个MVC框架的执行过程都是大同小异的;当一个request过来时,它通过一个servelet来响应request;再根据request的路

2、径名和配置将这个requestdispatch给一个controller执行;最后将之返回配置文件里对应的页面。在springmvc中,这个servelet的名字叫:Dispatchservlet4. Spring的Controller是singleton的,或者是线程不安全的说明。分析:和Struts一样,Spring的Controller是singleton的!这意味着每个request过来,系统都会用原来的instance去处理,这样就导致了两个结果:我们不用每次创建Controller,减少了对象创建和垃圾回收的时间。由于只有一个Controller的instance,当多个线程调用它

3、的时候,它里面的instance变量不是线程安全的。这也是webworks吹嘘的地方,它的每个Action都是线程安全的。因为每过来一个request,它就会创建一个Action对象。由于现代JDK垃圾收集动能的效率已经不成问题了,所以这种创建完一个对象就扔掉的模式也得到很多人的认可。二:简单的配置了解1.导入需要的jar包【去网上搜一下】2.配置web.xml springmvc org.springframework.web.servlet.DispatcherServlet 1 springmvc / !- 说明:此处的配置如果为*.do,那么我们请求的地址应该为:http:/local

4、host:8080/springmvc/user/login.do 如果此处配置的地址为/,那么我们的请求地址应该为:http:/localhost:8080/springmvc/user/login *.do - 3.配置springmvc-servlet.xml说明,可以放在WEB-INF下面就行。有些配置是暂时不需要的,一并拷贝过来了。 !- 指定一个包让其自动扫描 - !- 放行了以/static/开始的请求 - 4.在WebRoot下面建立一个文件夹static用于放静态的文件,static下面再建立三个静态文件夹:images用于放图片,script用于放js文件,style用于放

5、css文件5.在WEB-INF下面建立一个文件夹views,用于放jsp文件。可以先建立一个工程引用的jsp文件,base.jsp% taglib prefix=c uri=三:基本功能的学习建立一个index.jsp,引入base.jsp 1.简单的请求package com.hanchao.web;import java.util.Date;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.spring

6、framework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;/* * 首页的处理 * author hanchao * 2012-02-24 */Controllerpublic class ApplicationController /RequestMapping(value=/,method=RequestMethod.GET) RequestMapping(/) public String index() System.out.print

7、ln(Welcome to springMVC!); System.out.println( 2013-01-03-han-add = + String.format(%1$tY年%1$tm月%1$te日,new Date(); /return index;/这样就请求转发去了index.jsp中了 /*注意事项:重定向到reidrect:/index时。必须有对应的RequestMapping(/index)*/ return redirect:/index; /重定向到index.jsp /* RequestMapping(/index) public String toIndex() S

8、ystem.out.println(去首页。); return index; /说明:如果一个方法仅仅是为了跳转,那么我们可以直接在springmvc-servlet.xml中加上如下的配置即可: / */ /* * 放行 /url1/url2的请求 * hanchao * 2013-03-04 */ public String commonURL(PathVariable(URL1) String URL1, PathVariable(URL2) String URL2) return / + URL1 + / + URL2; /* * 放行 /url1/url2/url3的请求 * han

9、chao * 2013-03-04 */ public String commonURL(PathVariable(URL1) String URL1, PathVariable(URL2) String URL2,PathVariable(URL3) String URL3) return / + URL1 + / + URL2 + / + URL3; 注意事项:红色部分的Controller , 对于公共的URL,我们可以注释到类的头部,比如对于user对象的操作, 我们可以再action的头部注释:RequestMapping(/user)对于某些请求我们可以限制提交方式,比如用户登录,

10、我们只允许POST提交,我们可以在方法上面加上:RequestMapping(/login,method=RequestMethod.POST)2.增Controller :/* * 对t_user表的处理 * author chao * 2013-03-02 */ControllerRequestMapping(/user)public class UserController 说明: Model model,HttpServletRequest request, ModelMap map声明变量 request.getSession().setAttribute(test, haiwei2

11、Session); request.setAttribute(test, haiwei1request); map.addAttribute(test, haiweiModelMap); model.addAttribute(test, haiweiModel); 我通过$test这个方式取值,优先取Model和ModelMap的, Model和ModelMap是同一个东西,谁最后赋值的就取谁的,然后是request,最后是从session中获取 :如果我们在类名上配置一个RequestMapping(/user)的话 * 我们在每个方法上就不需要配置了RequestMapping(/logi

12、n) * 否则,方法上需要这么配置:RequestMapping(/user/login).表单提交(增) 1.表单提交(增) Username:      Sex:            对应的UserController.java中的方法: /* * 用户登录 该例子涉及到表单提交传值,一种是表单中的值name=username和User对象中的username属性名相同; * 另一种是和对象的属性没有关系的,比如:sex; * 该例子还涉及到sess

13、ion的使用,当然,如果你想使用request,response, * 直接在参数中加HttpServletRequest request ,HttpServletResponse即可 * * 如果我们要限制提交的方式:我们把RequestMapping(/login)改成 * RequestMapping(value=/login,method=RequestMethod.POST) * hanchao * 2013-03-04 * * * */ RequestMapping(/login) public String login( User user, String sex, Model

14、model, HttpSession session, HttpServletRequest request) System.out.println(页面传来的用户名: + user.getUsername(); System.out.println(页面传来的性别: + sex); /向页面传值的方式 model.addAttribute(username, user.getUsername(); model.addAttribute(sex, sex); /不用传不行 /用session传值 session.setAttribute(demo, session传值); /request传值

15、 request.setAttribute(demoRequest, request传值); /传一个对象到页面(传一个集合或者map是相同的方式) /model.addAttribute(user, user);/不用传也行,因为方法里的对象参数会自动的被放入reqeust中 /return forward:/user/login1; return main; / return redirect:/main; /这种重定向的跳转方式,不能传值model;还必须要配置;或者自己写一个跳转的方法; 当然,无论是POST还是GET方式,我么也可以这样:public String login1(St

16、ring username,String sex,Model model,HttpServletRequest request) System.out.println(login1.); System.out.println( - : + request.getRequestURL(); System.out.println(页面传来的用户名: + username); System.out.println(页面传来的性别: + sex); return main; 用ModelAndView向页面传值 /* * 用户登录 此例子用的ModelAndView向页面进行传值了。 并限制了,提交的

17、方法为post;如果你把form表单的提交方式修改了就会报错了。 * 和上面一个例子有异曲同工之处。 * hanchao * 2013-03-04 * * * * */ RequestMapping(value=/login,method=RequestMethod.POST) public ModelAndView login(User user,String sex) ModelAndView mav = new ModelAndView(); /要跳转的页面 mav.setViewName(main); /向页面传值 mav.addObject(username, user.getUse

18、rname(); mav.addObject(sex, sex); /向要跳转的传个对象 mav.addObject(user, user); return mav; 3.删2.删 删除id为25的用户(后台代码有map的例子) 删除id为25的用户_ajaxjs$(#del).click(function() var basePath = $(#basePath).val(); alert(basePath + /user/delajax/25); $.get(basePath + /user/delajax/25,function(data) if(data = ok) alert(删除成

19、功!); else alert(删除失败!); ); );Controller : /* * 根据用户ID删除用户 * * 此处的例子是url传值的方式的例子, * /del/id中的id尽量和 PathVariable String id中的id的值保持一致。 * * hanchao * 2013-03-04 * * * * */ RequestMapping(/del/id) public String del(PathVariable String id,Model model) System.out.println(要删除的用户的ID为: + id); model.addAttribute(flag, ok); /map向页面的传值的例子 Map map = new HashMapString,

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

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