标签:action eth ppi 传递数据 路径名 规则 hand 参数绑定 对象
Spring MVC执行过程
客户端的请求提交到dispatcherServlet
DispatcherServlet查询一个或者多个handlermapping ,找请求的Controller
DispatcherServlet将请求提交给Controller, Controller调用完毕后返回modelAndView
DispatcherServlet查询一个或多个对应的前端控制器,将modelAndView传递给指定的前端控制器
将渲染完的视图返回给客户端
SpringMVC的Controller为单例的尽量不要设置属性,而是在方法中
@RequestMapping注解用在类上面代表该类方法的父路径
SpringMVC与Struts2的主要区别
SpringMVC的前端控制器为一个Servlet 而Struts为Filter
SpringMVC的Controller为单例,而Struts2的Action为多例
SpringMVC是通过将request中的内容解析为形参,将相应和页面封装为Modelandview对象,struts2是采用值栈来存储请求和相应
SpringMVC的拦截器
类实现接口HandlerInterceptor,实现方法,方法分别对应方法执行前 , 执行后 , 页面渲染后
然后在配置文件中配置拦截器
多个拦截器一起执行的时候preHandler按照配置的顺序执行,剩下的两个拦截器都要在preHandler返回为True时才能执行.
postHandler和afterCompletion按照配置顺序的逆序调用
json
@ResponseBody 输出json
@requestbody 接受json 转化为pojo
上传文件
前端规则
在配置文件中配置多媒体
在Controller中用MultipartFile来接受文件
三大组件和核心
核心 : DispatcherServlet(前端控制器)
三大组件 :
ViewResolver : 视图解析器()
HandlerMapping : 处理器映射器组件(查找路径名对应的Handler)
HandlerAdapter : 处理器适配器组件(执行Handler)
主要的注解
@requestmapping() // 方法的访问路径value,method=post 限制请求的方式为get/post
@Controller
@ResponseBody
@RequestBody
@
拦截规则
/* 拦截所有,包括jsp
/ 拦截除了jsp以外的资源
Controller的返回值
ModelAndView : 返回视图和参数
Model : 在方法中传递Model,返回值为String , 直接return 视图
Void : 什么也不反回
重定向和请求转发
return ‘redirect:/item/itemlist.action‘
return ‘forward:/item/itemlist.action‘
参数绑定
public ModelAndView toEdit(Integer id,HttpServletRequest request,HttpServletResponse response,HttpSession session)
异常处理
继承HandlerExceptionResolver 实现对应的方法,对错误进行处理
springmvc配置<bean class="com.lyh.exception.CustomerException"></bean>
拦截提交参数中包含"type=test"字符串
可以在@RequestMapping注解里面加上params="type=test"
SpringMvc用什么对象从后台向前台传递数据的
怎么样把ModelMap里面的数据放入Session里面
SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决
标签:action eth ppi 传递数据 路径名 规则 hand 参数绑定 对象
原文地址:http://www.cnblogs.com/liyuhui-Z/p/7835349.html