Spring执行的流程
开发步骤:
一、 在web.xml文件中定义前端控制器DispacherServlet来拦截用户请求
二、 如果要以POST方式提交请求,则定义包含表单数据的JSP页面
(这里我们稍微插入一些关于POST请求的知识:POST一般用来向服务器端提交数据,这里不得不提到GET方式,POST和GET方式的对比:1、GET是从服务端获得数据,POST是从服务端传送数据2、GET是把参数数据队列加到提交比导弹的ACTION属性所指URL中,值和表单各个字段一一对应,从URL中可以看到;POST方式是通过HTTP POST机制,将表单的各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程3、GET方式,服务器用Request.QueryString获取变量的值;对于POST防治,服务器用Request.Form获取提交的数据4、POST安全性较高)。
三、 定义处理用户请求的Handler类,可以实现Controller接口或者使用@Controller注释(在SpringMVC框架中,控制器实际上由两个部分共同组成,即拦截所有用户请求和处理请求的通用代码都由前端控制器完成,而实际业务控制(如后台业务逻辑代码,返回处理结果等)则有Controller完成)
四、 配置Handler(使用XML文件)
五、 编写试图资源(返回的ModelAndView对象)
接下来我们用一个图来更加清楚的看看执行流程
1、 用户发送请求,DispatcherServlet拦截
2、 DispatcherServlet对请求URL(统一资源定位符)进行解析,得到URL。然后根据URL,调用HandlerMapping获得该Handler配置的所有相关的对象,包括Handler对象以及Handler对象对应的拦截器。
3、 DispatcherServlet根据获取的Handler,选择一个更加合适适配器.
4、 提取请求中的模型数据.
5、 向DispatcherServlet返回一个ModelAndView对象
6、 根据返回的ModelAndView对象,选择一个合适的ViewResolver(视图解析器)
7、 视图解析器渲染视图和模型
8、 返回用户.