springMVC要点记录
SpringMVC笔记
SpringMvc流程
1、DispatcherServlet中央控制器接收发过来的请求,交给HandlerMapping处理器映射器
2、HandlerMapping处理器映射器,根据请求路径找到相应的Controller类(处理逻辑)
3、Controller类(处理逻辑),处理一些功能请求,返回一个ModelAndView对象(包括模型数据、逻辑视图名)
4、ViewResolver视图解析器,先根据ModelAndView中设置的View解析具体视图
5、然后再将Model模型中的数据渲染到View上
springMVC结构
springMVC中dispatchServlet 关于web.xml配置
springMVC通过映射器映射
继承:AbstractController类
1.通过name映射
2.通过id映射
3.通过 类名.do 映射
公共前缀后缀定义:
springMVC通过控制器映射
1.走ParameterizableViewController控制器映射
2.继承AbstractCommandController(过时)
注:comm.do?age=123&name=zhangsan传参后,object才有值
3.表单控制器(继承AbstractFormController)做了解
注:comm.do?age=123&name=zhangsan传参后,object才有值
3.表单控制器(继承AbstractFormController)做了解
SpringMVC注解开发
1.springmvc-servlet.xml配置
<context:component-scan base-package="com.lirong.*"></context:component-scan>
2.controller类注释实现映射
RequestMapping(“/test”)也可以放在类上,用做命名空间
支持接受参数
1.直接定义参数(底层通过request.getParameter()来实现)
1 普通参数
2.时间类型参数(默认2011/12/12格式,如果要改)
3.checkbox多选类型接收
4.传递对象(直接传和对象属性相同的参数)
SpringMVC和truts2的Controller类是单例还是多例
*truts2:多例
注:truts2接收前端参数是用成员函数类接收的,如果是单例,有可能引起多线程并发的数据安全问题(多个线程用相同数据)
*springMVC:单例
注:因为springMVC接收前端参数是在方法中接收。而不是用成员变量接收,所以单例也不会引起多线程并发的数据安全问题
springMVC返回参数给页面
ModelAndView导的是servlet下的包
1.用map存参(不建议使用)
2.使用model类存数据(建议使用)
Ajax调用SpringMVC
需要jquery.js支持
1.第一种(HttpServletResponse接收,可以设置编码)
2.第二种(PrintWrite直接接收,但无法设置编码)
SpringMVC重定向
1.方法之内的重定向
2.不同包之间的重定向
redirect +/ 代表重根目录下重定向
SpringMVC文件上传
1.xml配置
2.代码
SpringMVC的拦截器
1.xml配置
2.代码