精华内容
下载资源
问答
  • struts2和springmvc的区别

    2020-08-18 21:26:45
    struts2和springmvc的区别 Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在...

    struts2和springmvc的区别

    Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。Filter在容器启动之后即初始化;服务停止以后销毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。

    <!-- 拦截器  -->
    <!-- 配置Struts2的核心控制器 -->
    	<filter>
        	<filter-name>struts2</filter-name>
        	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter	</filter-class>
    	</filter>
    	<filter-mapping>
        	<filter-name>struts2</filter-name>
        	<url-pattern>/*</url-pattern>
    	</filter-mapping>
    
    	<filter-mapping>
        	<filter-name>struts2</filter-name>
        	<url-pattern>*.jsp</url-pattern>
    	</filter-mapping>
    
    
    	<!-- 部署Spring DispatcherServlet 前端控制器 -->
    	<servlet>
    		<servlet-name>springmvc</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<!-- 表示容器再启动时立即加载servlet -->
    		<init-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>classpath:springmvc-servlet.xml</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	
    	<servlet-mapping>
    		<servlet-name>springmvc</servlet-name>
    		<!-- 处理所有URL -->
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    
    展开全文
  • Struts2和SpringMVC的区别

    2020-03-12 18:57:19
    Struts2和SpringMVC的区别 一、拦截机制的不同S Struts2是类级别的S拦截,每次请求就会创建一S个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据...

    Struts2和SpringMVC的区别

    一、拦截机制的不同S

    Struts2是类级别的S拦截,每次请求就会创建一S个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。

    SpringMVC是方法级别的拦截,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。

    Struts2有自己的拦截Interceptor机制,SpringMVC这是用的是独立的Aop方式,这样导致Struts2的配置文件量还是比SpringMVC大。
      
    二、底层框架的不同

    Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现。Filter在容器启动之后即初始化;服务停止以后坠毁,晚于Servlet。Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁。

    三、性能方面

    Struts2是类级别的拦截,每次请求对应实例一个新的Action,需要加载所有的属性值注入,SpringMVC实现了零配置,由于SpringMVC基于方法的拦截,有加载一次单例模式bean注入。所以,SpringMVC开发效率和性能高于Struts2。

    四、配置方面

    spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高。

    附加:如何配置struts2

          1.导入jar包
          2.配置web.xml
          3.编写jsp
          4.开发控制层
          5.配置struts.xml
          6.部署运行
    
    展开全文
  • Struts2和SpringMvc的区别

    2017-07-27 20:23:35
    今天面试遇到的问的关于Struts2和SpringMvc的区别,回来看了些资料好像就是这三点了

    这是我今天面试的时候遇到的面试题,当时自己答得不太好,现在回来之后看了一些资料,总结一下,给以后的自己看,如果有不完整或者不正确的地方,希望各位能够指出来,谢谢大家


    1.    Struts2 的核心是基于一个过滤器即StrutsPreparedAndExcuteFilter

           SpringMvc的核心是基于一个Servlet即DispatcherServlet前段控制器


    2.    Struts2是基于类开发的,传递的参数是通过类的属性传递(属性驱动和模型驱动),所以只能设计成多例

           SpringMvc是基于类中的方法开发的,也就是一个url对应一个方法,传递参数是传到方法的形参上面,所以既可以是单例模式也可以是多例模式


    3.    Struts2采用的是值栈存储请求以及响应数据,OGNL存取数据

           SpringMvc采用request来解析请求内容,然后由其内部的getParameter给方法中形参赋值,再把后台处理过的数据通过ModelAndView对象存储,Model存储数据,View存储返回的页面,再把对象通过request传输到页面去。

    展开全文
  • struts2和springMVC的区别

    2018-11-07 11:53:05
    struts2和springMVC的本质区别:  1.springMVC的入口是一个servlet前端控制器(DispatcherServlet),struts2入口是一个filter过滤器(StrutsPrepareAndExecuteFilter)  2.struts2通过在action类中定义成员变量...

    struts2和springMVC的本质区别:
      1.springMVC的入口是一个servlet前端控制器(DispatcherServlet),struts2入口是一个filter过滤器(StrutsPrepareAndExecuteFilter)
      2.struts2通过在action类中定义成员变量接收参数,(属性驱动和模型驱动),它只能使用多例模式管理action。springMVC通过在vontroller方法中定义形参接收参数,springMVC可以使用单例模式管理controller
      3.springMVC是基于方法开发的,注解开发中使用requestMapping将url和方法进行映射,如果根据url找到controller类的方法生成一个handler处理对象(只包括一个method)
    struts2是基于类开发的,每个请求过来创建一个action实例,实例对象中有若干个方法。
    开发中建议使用springMVC,springMVC方法更类似service业务方法
      4.struts2采用值栈存储请求和相应的数据,通过OGNL存储数据,springMVC通过形参绑定将request请求内容解析,并给方法形参赋值
      5.struts2和springMVC的速度是相当的,由于strusts2漏洞较多,更多企业使用springMVC

    展开全文
  • Struts2和springmvc的区别

    2019-04-25 21:04:00
    一、框架机制 1. spring MVC是通过servlet方式进行拦截,在第一次请求发送时初始化...二、拦截机制 1.struts2 是类级别上拦截,每次请求都会创建一个对应action,一个url对应action中一个方法,action类中...
  • Struts2: (通过过滤器来拦截所有请求,交友struts2 dispather 处理)  工作流程:  1客户端浏览器发出HTTP请求  2根据web.xml配置,该请求被FilterDispatcher(过滤器调度员)接收  3根据struts.xml配置,...
  • struts2和SpringMVC的区别

    2017-08-24 19:06:00
    一个类对应一个request上下文,SpringMVC是方法级别拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 825
精华内容 330
关键字:

struts2和springmvc的区别

spring 订阅