您的位置:首页 > 编程语言 > Java开发

Spring MVC 运行原理

2019-01-27 09:04 162 查看
SpringMVC有一个核心控制器DispatcherServlet,当我们项目启动的时候,首先会加载我们项目的web.xml配
置文件,我们会在这配置核心控制器,核心控制器的本质是一个Serlet,我们会在web.xml我们会在web.xml里配
置一个servlet-mapping 标签,再在这个标签里配置url-partter标签,这个标签决定哪些请求会被核心控制器
所拦截,一般会配置*.do或者/*。那么请求被核心控制器拦截之后,核心控制器会通过HandlerMapping去解析用
户的请求路径,因为我们Controller类和类中的方法上都加了@RequestMapping注解,HandlerMapping就会根据
注解和请求路径找对用户想要调用的类和类中的方法,在进入方法前,SpringMVC还会根据方法的参数列表封装请
求中的参数,当时遇到过这样的问题,前台时间time是Sting类型,而实体类中是Date类型,这时运行后不会报任
何的错,最终在实体类中定义time参数时,加入注解@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") ,
在controller层进入方法后,可以调用Service层处理业务逻辑,处理完成之后,我们需要将数据返回给页面,
SpringMVC为我们提供了一个对象叫ModelAndView,我们可以把数据封装到Model中,然后存上视图名称,然后把
ModelAndView做返回,就会被视图解析器接收,视图解析器中我们配置了一个前缀和后缀,视图解析器
ViewReslover会用前缀拼接上视图名称再拼接后缀组成页面的完整路径,将model中的数据转发到对应的页面中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: