建立一个能运行的spring-mvc程序,至少需要哪些配置以及jar包

(1)springMVC和Struts2框架的区别
     springMVC的一个核心就是通过一个特殊的Servlet来拦截前端的请求,即DispatcherServlet。然后DispatcherServlet去询问handlerMapping由哪个Controller来处理该请求。接着,将请求发送给controller来处理,controller处理完成后会返回视图名称以及模型数据(可选)。接着,去询问ViewResolver该逻辑视图名对应的实际视图。接着将模型数据发送给实际视图,实际视图根据模型数据产生最终的页面。最后将页面返回给用户。


Strut2中类似的角色是一个Filter, FilterDispatcher,作为Struts2的调度中心,必须配置在所有filter链的最后。FilterDispatcher收到请求后首先询问ActionMapper该请求是否需要处理。如果需要处理,则创建一个ActionProxy,根据struts.xml文件的配置将请求分发到特定的Action来处理。当然在Action之前还可以配置一些拦截器,默认的有参数拦截器等等。Action处理完成后可以跳到下一个Action或者视图,最后视图绑定上数据生成最终该页面返回给用户。这里只是简要描述,具体流程参考http://rubbing-struts2.iteye.com/blog/1493574
    (2)从web.xml开始
     当用户发送请求后,web服务器的连接器会收到用户的请求,然后将请求交给web引擎,web引擎会在上下文中搜索,按照给定的上下文路径来确定哪个应用来处理该请求,接下来就要确定由该应用的哪个组件来处理该请求。我们的应用如何让web引擎知道我们都有哪些组件呢?答案就是web.xml。
     web.xml中定义了很多元素如listener、filter、filterMapping、servlet、servletMapping等,具体可以参照链接
http://www.cnblogs.com/chinafine/archive/2010/09/02/1815980.html  

    这里主要配置了一个前端控制器servlet,配置如下:

建立一个能运行的spring-mvc程序,至少需要哪些配置以及jar包_第1张图片

    
(3)TestController
     方式一:继承controller类(spring-webmvc-xx.jar),实现handleRequest(request, reponse),然后在mvctest-
     servlet.xml中注册该bean。如下:
     
           
     方式二:使用@Controller、@RequestMapping注解(spring-context-xx.jar),并在mvctest-servlet中使用配置
      
(4) HandlerMapping 处理器映射器
    完成请求到Controller的映射。
    方式一:
 
 
  
    方式二:
在spring配置文件mvctest-servlet.xml中,使用配置 ,这是一个默认配置,相当于注册了两个bean,分别是DefaultAnnotationHandlerMapping和AnnotaionMethodHandlerAdapter,从而完成从请求到处理器,再到处理方法的映射。因为非注解方式的controller只能处理一类请求 ,但是注解方式的controller每个方法都可以处理一类请求,因此需要增加Adapter进一步的适配。
(5)视图解析器
    完成逻辑视图到实际视图的映射
     
           
           
           
     
 
(6)视图

     一个JSP页面

(7)需要导入的jar包

建立一个能运行的spring-mvc程序,至少需要哪些配置以及jar包_第2张图片

你可能感兴趣的:(Spring,javaWeb)