首页 > 编程语言 > 详细

SpringMVC知识点总结

时间:2015-12-08 20:08:20      阅读:219      评论:0      收藏:0      [点我收藏+]

  情景:SpringMVC向后台控制层发送请求,特定方法处理该请求(获取传过来的数据,响应请求,把一些简单数据放入request即Model对象中)

  1. 在web.xml中加入SpringMVC的DispatcherServlet核心控制器,指明拦截哪些请求。
  2. 在WEB-INF文件夹下建立SpringMVC的XML配置文件,component-scan指明扫描那个包下的控制类。
  3. 被@Controller注解的类视为控制类,被@RequestMapping(value="",method=RequestMethod..POST)注解的方法表示处理该类请求(被value值匹配的请求),而且该请求只能是POST请求。
  4. 关于@RequestParam和Model model对象,如处理请求的方法 String login(@RequestParam("username") String userName,Model model){ model.addAttribute("userName",userName) }  表示从Request参数username取值赋值给userName,然后放入model对象中,model对象相当于request,里面存储的对象可以通过EL表达式 ${}获取。
  5. @RequestParam从request参数中取值,如果action层变量名和request参数名相同,不需要@RequestParam注解就可以获取值。

 

  Q1:场景:直接输入URL地址以访问控制层达到实现一些功能的目的,如列表 【模拟表单提交】

       A1:可以浏览器发送请求模拟表单提交等如http://localhost:8080/project/listViewer.spring?username=zhang

          若拦截以".spring"结尾请求,控制层方法将处理listViewer这个请求,并接受参数username的值

  Q2:场景:控制层限制请求的方式?

       A2:在请求处理方法上加@RequestMapping(value="",method=RequestMethod..POST)指明前台发送的请求只能是POST

   Q3:场景:解决多人开发路径可能重复的问题?(如前台登录发送/login请求,后台登录也发送/login请求)【有助于模块化开发】
        A3:两个请求可以是/a/login和/b/login,控制层有两个类分别处理/a或者/b下面的请求如:

         

1 @Controller
2 @RequestMapping("/a")
3 public class Login{
4       @RequestMapping("/login")
5        public String login(){} 
6 }

  如果在类的上方使用@RequestMapping注解,表示首先定义相对的父路径,然后在方法上定义的路径是相对于类级别的。

 

  Q4: 路径问题?controller响应请求是以当前路径为基准,响应文件的路径写法类似Linux切换目录。

     可以在springMVC-servlet.xml加入如下配置:

       <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"  p:prefix="/" />

     它的 功能就是限定默认访问的是/ 根路径。

 

SpringMVC知识点总结

原文:http://www.cnblogs.com/zplogo/p/5029918.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!