springmvc与struts2比较
1、springmvc的入口是servlet,struts2是filter.
2、springmvc是方法级别的拦截,struts2是类级别的拦截。
3、struts2有自己的interceptor机制,springmvc用的是独立的AOP方式。
4、springmvc对ajax的支持上优于struts2.
5、springmvc性能略高于struts2.
1、springmvc的入口是servlet,struts2是filter
filter和servlet的区别
filter不是一个servlet,它不能产生response,它能够在一人request到达servlet之前预处理request,也可以在离开servlet时处理response。换种说法,filter其实是一个"serlvet chaining"(servlet链)。
一个filter包括:
(1)、在servlet被调用之前截获
(2)、在servlet被调用之前检查servlet request
(3)、根据需要修改request头和request数据
(4)、根据需要修改response头和response数据
(5)、在servlet被调用之后截获
而servlet为用户发送一个请求,通过servlet容器调用servlet的init()方法初始化servlet,并调用servlet的service()方法对请求进行处理,并将处理结果通过response返回给用户。
filter和拦截器的区别
(1)、拦截器是基于java反射机制的,而filter是基于函数回调的。
(2)、filter依赖于servlet容器,而拦截器不依赖与servlet容器。
(3)、拦截器只能对action请求起作用,而filter则可以对几乎所有请求起作用。
(4)、拦截器可以访问action上下文、值栈里的对象,而filter不能。
filter是在java web中,用户传入request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者action进行业务逻辑。
比如过滤一些特殊字符.
action执行前后执行拦截器本身提供的各种Web功能需求。
2、springmvc是方法级别的拦截,struts2是类级别的拦截。
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,参数的传递是直接注入到方法听,是该方法独有的。
struts2是类级别的拦截,一个类对应一个request上下文,struts2是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的,这也就是无法用注解或其他方式标识其他所属的方法了。
3、struts2有自己的interceptor机制,springmvc用的是独立的AOP方式。
struts2有以自己的interceptor机制,spring mvc 用的是独立的AOP方式。这样导致struts2的配置文件量还是比spring mvc大,虽然struts2的配置能继承,spring mvc使用更加简洁。
4、springmvc对ajax的支持上优于struts2.
引入下面两个jar包
jackson-core-asl-1.8.7.jar
jackson-mapper-asl-1.8.7.jar
spring的配置文件中要有这一行,才能使用到spring内置支持的json转换。如果你手工把POJO转成json就可以不须要使用spring内置支持的json转换。
<mvc:annotation-driven />
使用@ResponseBody注解
分享到:
相关推荐
SpringMVC与struts2比较及技术特点
struts2介绍、和springmvc对比,mybatis介绍和hibernate对比
SpringMVC与Struts的区别 SpringMVC是一款优秀的MVC框架,由于其发布3.0版本后,现在有越来越多的团队选择了Spring3 MVC作为MVC的框架。SpringMVC结构简单,灵活性较高,性能也很优秀。下面我们将详细讲解SpringMVC...
SSM-SpringMVC-Struts2基础框架
这些库的组合使用,可以构建一个功能强大的Java Web应用,通过SpringMVC处理请求,Struts(尤其是Struts2)提供额外的MVC功能,MyBatis作为数据访问层处理数据库操作,而JUnit则帮助进行单元测试,确保整个系统的...
Struts2还支持OGNL表达式语言,用于在Action与视图之间传递数据。 MyBatis是一个优秀的持久层框架,它简化了SQL操作,允许开发者直接编写SQL语句,避免了过多的ORM(对象关系映射)操作。MyBatis通过XML配置文件或...
2. 集成Hibernate,配置SessionFactory和DataSource,建立对象与数据库的映射。 3. 配置Spring MVC,定义DispatcherServlet,设置视图解析器和处理器映射器。 4. 将Struts集成到Spring中,使用Spring管理Action和...
SpringMVC与Struts2的区别 SpringMVC和Struts2都是流行的Java Web框架,但它们之间存在着许多区别。下面我们将对比SpringMVC和Struts2的主要区别,帮助开发者更好地选择合适的框架。 首先,Struts2是类级别的拦截...
Java面试题51.SpringMVC和Struts2的不同.mp4
六、SpringMVC与Struts2比较 SpringMVC和Struts2都是流行的Web应用程序框架,但它们有很多不同之处。SpringMVC基于MVC模式,Struts2基于MVC模式,但Struts2更加注重于WEB-INF下的配置文件。SpringMVC更加灵活和可...
Struts2是其最新版本,采用Model-View-Controller设计模式,提供了一套完整的解决方案,包括Action、Interceptor、Result等概念,使得开发者可以更方便地处理请求和响应。 4. Hibernate:Hibernate是一个对象关系...
整合Struts2与MyBatis或Hibernate时,Struts2的动作类(Action)接收请求并调用Service层,Service层再通过MyBatis或Hibernate操作数据库。 整合步骤通常包括以下部分: - 配置POM.xml文件:添加所需框架的依赖。 -...
本合集包含了一些最流行的框架实例:Spring、SpringMVC、MyBatis、Struts2以及Hibernate。以下是对这些框架的详细介绍: 1. **Spring**: Spring 是一个全面的后端开发框架,它提供了依赖注入(DI)和面向切面编程...
java面试宝典
SpringMVC MyBatis Struts Spring Hibernate全套教学视频【4.3G】 网盘下载地址 【付费下载之后的用户,可留言获取更多下载资源】
本资源包含五个主流的Java Web框架的最新版本:Hibernate 5.3.1、MyBatis 3.4.6、Spring Framework 5.0.7、Struts2 2.5.16。下面将分别介绍这些框架的核心功能和使用方法。 **1. Hibernate 5.3.1** Hibernate 是一...
【SpringMVC与Struts2的区别】 1. 入口不同:SpringMVC的入口是DispatcherServlet(前端控制器),而Struts2的入口是Filter(过滤器)。 2. 开发方式:SpringMVC基于方法开发,参数通过方法形参传递;Struts2基于类...
Struts2和SpringMvc区别.md
SpringMVC和Struts2是两个非常著名的Java Web框架,它们在处理Web应用程序时有着各自的特点和优势。这里我们将深入探讨这两个框架之间的主要区别。 首先,SpringMVC是Spring框架的一部分,强调的是轻量级、模块化和...
springmvc基础 包含代码+知识点+详细解释 1. 什么是springmvc? 2. springmvc框架原理 前端控制器、处理器映射器、处理器适配器、视图解析器 3. springmvc入门程序 目的:对前端控制器、...6. springmvc和struts2区别