码迷,mamicode.com
首页 > 编程语言 > 详细

springMVC

时间:2018-03-25 22:16:13      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:pre   mapping   类的属性   比较   blog   isp   类型   控制器   selection   

 

介绍

讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么

SpringMvc的是DispatchServlet,Struts1的是ActionServlet,Struts2的是StrutsPrepareAndExecuteFilter

并发考点

SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决。是单例模式(默认是),所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段

 

SpringMvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。

@RequestMapping注解用法

@RequestMapping注解用在类上面=>表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestMapping注解用在方法上面=>把某个请求映射到特定的方法上面

类注解

SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代   一般用@Conntroller注解,表示是表现层,不能用用别的注解代替.

方法注解

@RequestMapping(value = "/hello3", method = RequestMethod.GET, params = { "param1=1""param2!=2""param3" }, headers = { "Connection=keep-alive" })

如果在拦截请求中,我想拦截提交参数中包含"type=test"字符串,怎么配置,如上

如果在拦截请求中,我想拦截get方式提交的方法,怎么配置,如上

形参使用

怎么样在方法里面得到Request,或者Session=》直接在方法的形参中声明request,SpringMvc就自动把request对象传入

如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象=》直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面@RequestBody

返回值:

SpringMvc中函数的返回值是什么. 返回值可以有很多类型,有String, ModelAndView,当一般用String比较好

SpringMvc怎么处理返回值的  SpringMvc根据配置文件中InternalResourceViewResolver的前缀和后缀,用前缀+返回值+后缀组成完整的返回值

SpringMvc中有个类把视图和数据都合并的一起的,叫什么叫ModelAndView, jsp里面可以${user.userName}取model

在返回值前面加"forward:"就可以让结果转发,譬如return "forward:user.do?name=method4"; 

在返回值前面加"redirect:"就可以让返回值重定向,譬如 return "redirect:http://www.baidu.com"; 

讲下SpringMvc的执行流程

系统启动的时候根据配置文件创建spring的容器, 首先是发送http请求到核心控制器disPatherServlet,spring容器通过映射器去寻找业务控制器,使用适配器找到相应的业务类,在进业务类时进行数据封装,在封装前可能会涉及到类型转换,执行完业务类后使用ModelAndView进行视图转发,数据放在model中,用map传递数据进行页面显示。

springMVC

标签:pre   mapping   类的属性   比较   blog   isp   类型   控制器   selection   

原文地址:https://www.cnblogs.com/erma0-007/p/8647202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!