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

【Web】了解springMVC运行原理

2016-09-20 15:21 399 查看
先来使用springMVC做一个入门级的HelloWorld程序。
     新建项目,导入所需jar包,详情如下:
     
          


    
配置Web.xml

[html]
view plain
copy
print?





<servlet>  
  <servlet-name>springMVC</servlet-name>  
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <init-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>classpath*:config/spring-servlet.xml</param-value>  
    </init-param>      
    <load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  
    <servlet-name>springMVC</servlet-name>  
    <url-pattern>/</url-pattern>  
</servlet-mapping>  

编写Controller

[java]
view plain
copy
print?





package com.tgb.controller;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
import org.springframework.web.servlet.ModelAndView;  
import org.springframework.web.servlet.mvc.Controller;  
  
public class HelloWorldController implements Controller {  
  
    @Override  
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)  
            throws Exception {  
        System.out.print("---hellogghhyy---");  
        String hello="hello ghy";  
        return new ModelAndView("/welcome","result",hello);  
    }  
}  

配置spring-servlet.xml

[html]
view plain
copy
print?





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

写页面

[html]
view plain
copy
print?





<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title>你好</title>  
</head>  
<body>     
       ${result}  
</body>  
  
</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是既简单又强大的前端框架.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐