【Web】了解springMVC运行原理

先来使用 springMVC 做一个入门级的 HelloWorld 程序。

     新建项目,导入所需jar包,详情如下:

     

          

    

配置Web.xml


  1. <servlet>  
  2.   <servlet-name>springMVC</servlet-name>  
  3.   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  4.     <init-param>  
  5.         <param-name>contextConfigLocation</param-name>  
  6.         <param-value>classpath*:config/spring-servlet.xml</param-value>  
  7.     </init-param>      
  8.     <load-on-startup>1</load-on-startup>  
  9. </servlet>  
  10. <servlet-mapping>  
  11.     <servlet-name>springMVC</servlet-name>  
  12.     <url-pattern>/</url-pattern>  
  13. </servlet-mapping>  


编写Controller


  1. package com.tgb.controller;  
  2. import javax.servlet.http.HttpServletRequest;  
  3. import javax.servlet.http.HttpServletResponse;  
  4.   
  5. import org.springframework.web.servlet.ModelAndView;  
  6. import org.springframework.web.servlet.mvc.Controller;  
  7.   
  8. public class HelloWorldController implements Controller {  
  9.   
  10.     @Override  
  11.     public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)  
  12.             throws Exception {  
  13.         System.out.print("---hellogghhyy---");  
  14.         String hello="hello ghy";  
  15.         return new ModelAndView("/welcome","result",hello);  
  16.     }  
  17. }  



配置spring-servlet.xml


  1. <bean name="/test/helloWorld" class="com.tgb.web.controller.HelloWorldController" />  
  2.     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  3.        <property name="prefix" value="/"></property>  
  4.        <property name="suffix" value=".jsp"></property>  
  5.   
  6. </bean>  


写页面


  1. <head>  
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  3. <title>你好</title>  
  4. </head>  
  5. <body>     
  6.        ${result}  
  7. </body>  
  8.   
  9. </html>  


下面我们分析一下实现过程。


            

1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.

2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。

3-4、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。

5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。

6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

7、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。

这就是springMVC的工作原理.


       springMVC是既简单又强大的前端框架.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值