springmvc和struts2的区别

来源:互联网 发布:读报软件哪个好 编辑:程序博客网 时间:2024/06/04 19:48

1、 springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器。

springmvc:

<!-- 前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 默认找 /WEB-INF/[servlet的名称]-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>


<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 1. /* 拦截所有 jsp js png .css 真的全拦截 建议不使用 2. *.action *.do 拦截以do action 
结尾的请求 肯定能使用 ERP 3. / 拦截所有 (不包括jsp) (包含.js .png.css) 强烈建议使用 前台 面向消费者 www.jd.com/search 
/对静态资源放行 -->
<url-pattern>*.action</url-pattern>
</servlet-mapping>

struts2:

<filter>
    <!-- 配置Struts2核心Filter的名字 -->
        <filter-name>struts2</filter-name>
        <!-- 配置Struts2核心Filter的实现类 -->
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
          <init-param>
          <!-- 配置Struts2框架默认加载的Action包结构,可以没有。 -->
          <param-name>actionPackages</param-name>
          <param-value>org.apache.struts2.showcase.person</param-value>
          </init-param>
          <!-- 配置Struts2框架的配置提供者类 -->
          <init-param>
          <param-name>configProviders</param-name>
          <param-value>lee.MyConfigurationProvider</param-value>
          </init-param>
    </filter>
<!-- 配置Filter拦截的URL -->
    <filter-mapping>
    <!-- 配置Struts2的核心FilterDispatcher拦截所有用户请求 -->
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2、 springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例)struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。

3、 Struts采用值栈存储请求和响应的数据,通过OGNL存取数据,springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面。Jsp视图解析器默认使用jstl

原创粉丝点击