1. springmvc与struts2比较
答案:
1).入口不同:
Struts2:filter过滤器
SpringMvc:一个Servlet即前端控制器
2).开发方式不同:
Struts2:基于类开发,传递参数通过类的属性,只能设置为多例
SpringMvc:基于方法开发(一个url对应一个方法),请求参数传递到方法形参,可以为单例也可以为多例(建议单例)
3).请求方式不同:
Struts2:值栈村塾请求和响应的数据,通过OGNL存取数据
SpringMvc:通过参数解析器将request请求内容解析,给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面,jsp视图解析器默认使用的是jstl。
另一种答案:
1 在数据封装方面 ,spring3mvc方法级别 struts2 类级别 spring3mvc开发效率高于 struts2
2 spring3mvc 注解版基本上是零配置
3 springmvc与spring是一家人,兼容性好
4 struts2 存在安全漏洞
可以通过ongl表达式 格式化硬盘
使用重定向定位到钓鱼网站
2. spring mvc 注解
1 @Controller 标注为spring容器的中的bean 做为c
2 作用域注解 有五大作用域: 原型 单例 request session 全局session
3 @RequestMapping 访问路径,可以用在类或者方法上 访问路径类/方法
4 @responsebody 返回字符串,一般用于返回json格式
5 @ModelAttribute 放入request作用域
6 @SessionAttributes 值能用在类上
7 @requestParam 主要用于数据封装时,页面的参数名与方法参数不一致时
8 @pathVarible 主要用于获取路径变量的值
3. 如何使用 SpringMVC 完成 JSON 操作
① 配置 MappingJacksonHttpMessageConverter
② 使用 @RequestBody 注解或 ResponseEntity 作为返回值
4. 说说spring dao
1 对jdbc进行了封装,提供了两大模板技术封装了jdbc步骤,数据源的实现,行映射器进行记录与对象的转换工作,
使用daoSupport方便获取模板
2 给模板类注入数据源,之后使用模板类的api进行数据操作
5. Spring MVC 工作机制及为什么要用?
1) 客户端所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
2) DispatcherServlet 查询一个或多个HandlerMapping,找到处理请求的Controller.
3) DispatcherServlet 请请求提交到目标Controller
4) Controller 进行业务逻辑处理后,会返回一个ModelAndView
5) Dispathcher 查询一个或多个ViewResolver 视图解析器,找到ModelAndView 对象指定的视图对象
6) 视图对象负责渲染返回给客户端。