首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

struts2和struts1认识

1.Struts 2基本流程 Struts 2框架本身可以大致分3部分:核心控制器FilterDispatcher、业务总监Action与用户实现企业业务逻辑组件。...Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本同样,所以说Struts 2是WebWork的升级版本号。...而Struts 2框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求中的请求參数解析出来,传入到Action中,并回调Action 的execute方法来处理用户请求。...5.Struts 2的视图组件 Struts 2已经改变了Struts 1仅仅能使用JSP作为视图技术的现状,Struts 2同意使用其它的模板技术,如FreeMarker、Velocity作为视图技术...从WebWork 2.2迁移到Struts 2不会比从WebWork 2.1迁移到WebWork 2.2更复杂。 这里我们能够看到,Struts 2事实上就是WebWork 2.2的升级版。

59520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Struts1和Struts2的区别和对比

    Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象基类。...Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口。...• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。...线程模式: • Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。...• Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。 捕获输入: • Struts1 使用ActionForm对象捕获输入。

    90340

    聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全

    前言 很多初学者,甚至是工作1-3年的小伙伴们都可能弄不明白?servlet Struts1 Struts2 springmvc 哪些是单例,哪些是多例,哪些是线程安全?...Struts1使用的ActionServlet是单例的,既然是单例,当使用实例变量的时候就会有线程安全的问题。所有一般在开发中试禁止使用实例变量的。...Struts2 struts2使用的是actionContext,都是使用里面的实例变量,让struts2自动匹配成对象的。...每次处理一个请求,struts2就会实例化一个对象,这样就不会有线程安全的问题了。 需要注意的是,如果struts2+spring来管理注入的时候,不要把Action设置成单例,否则会出问题的。...总结 servlet Struts1 SpringMvc 是线程不安全的,当然如果你不使用实例变量也就不存在线程安全的问题了。

    90360

    聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全

    servlet Struts1 Struts2 springmvc 哪些是单例,哪些是多例,哪些是线程安全? 在谈这个话题之前,我们先了解一下Java中相关的变量类型以及内存模型JMM。...Struts1使用的ActionServlet是单例的,既然是单例,当使用实例变量的时候就会有线程安全的问题。所有一般在开发中试禁止使用实例变量的。...Struts2 struts2使用的是actionContext,都是使用里面的实例变量,让struts2自动匹配成对象的。...每次处理一个请求,struts2就会实例化一个对象,这样就不会有线程安全的问题了。 需要注意的是,如果struts2+spring来管理注入的时候,不要把Action设置成单例,否则会出问题的。...总结 servlet Struts1 SpringMvc 是线程不安全的,当然如果你不使用实例变量也就不存在线程安全的问题了。

    1.2K140

    聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全

    前言 很多初学者,甚至是工作1-3年的小伙伴们都可能弄不明白?servlet Struts1 Struts2 springmvc 哪些是单例,哪些是多例,哪些是线程安全?...Struts1使用的ActionServlet是单例的,既然是单例,当使用实例变量的时候就会有线程安全的问题。所有一般在开发中试禁止使用实例变量的。...Struts2 struts2使用的是actionContext,都是使用里面的实例变量,让struts2自动匹配成对象的。...每次处理一个请求,struts2就会实例化一个对象,这样就不会有线程安全的问题了。 需要注意的是,如果struts2+spring来管理注入的时候,不要把Action设置成单例,否则会出问题的。...总结 servlet Struts1 SpringMvc 是线程不安全的,当然如果你不使用实例变量也就不存在线程安全的问题了。

    50120

    SSH框架之旅-struts2(1)

    struts.jpg 1.struts2 框架介绍 ---- struts2 框架在 struts1 和 WebWork的技术上合并而来的,全新的struts2 框架是以 WebWork 框架为核心,采用拦截器的机制来处理用户请求...---- 2.搭建 struts2 框架 ---- 2.1 准备 struts2 包 struts2 也是 Apache 基金会下的一个开源项目,可以直接去官网下载 struts2 的 zip 压缩包,...war 包,用压缩工具打开,将网站 WEB-INF 目录下的 lib 文件夹里面的 jar 包复制到一个文件下,这些就是我们所需的 struts2 框架的 jar 包。...需要将准备好的 struts2 的 jar 包复制到 java web 项目下,一般放在 WEB-INF 文件下的lib 文件夹中。...的配置文件 init_DefaultProperties(); // [1] 加载struts2的所有常量 init_TraditionalXmlConfigurations

    44930

    struts2的验证

    1、原理 当浏览器向服务器提交表单数据时,在服务器端需要对表单数据的有效性进行校验. “校验方法”会在“业务方法”之前调用。 2、实现验证的两种方式 struts2校验的两种实现方法: 1....以validateXxx()方法为例 (1)在Action类中添加validateXxx()方法,并执行校验判断 (2)在validateXxx()方法内部,如果出错了,就调用addFieldError...()方法来添加错误信息 (3)在struts.xml的相应action标签配置中,添加名为input的result处理页面。...步骤: (1)Action继承ActionSupport,实现校验方法 validate()方法校验action中所有与execute方法签名相同的方法 validateXxx()只会校验action...(1)定义Action 继承ActionSupport或者实现Validateable接口: (2)配置验证出错转向的页面(配置name为input的result) (3)配置验证的xml文件

    71030

    Struts2的工作原理

    一个请求在Struts2框架中的处理大概分为以下几个步骤 1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp...Struts2和struts1的比较 struts2相对于struts1来说简单了很多,并且功能强大了很多,我们可以从几个方面来看: 从体系结构来看:struts2大量使用拦截器来出来请求,从而允许与业务逻辑控制器...从线程安全分析:struts2.x是线程安全的,每一个对象产生一个实例,避免了线程安全问题;而struts1.x在action中属于单线程。...性能方面:struts2.x测试可以脱离web容器,而struts1.x依赖servlet-api,测试需要依赖web容器。...标签的优势:标签库几乎可以完全替代JSTL的标签库,并且 struts2.x支持强大的ognl表达式。 当然,struts2和struts1相比,在 文件上传,数据校验 等方面也 方便了好多。

    68740

    Struts2框架的基本使用

    从本篇开始我们学习Struts2的基本用法,本篇主要包括以下内容: Struts2的下载安装 理解整个框架的运行流程 自定义实现Action 自定义配置处理结果 一、下载和安装Struts2      ...解压压缩包,得到Struts2的源码及示例代码。 ? apps目录中主要是官方提供的Struts2的实例代码,对于我们的学习是很有用的。docs中主要是有关Struts2的相关文档内容。...lib目录中主要存放了有关Struts2的核心类库,以及第三方插件库。src中包含了Struts2的全部源代码。...二、理解Struts2的运行流程      下面演示一个完整的使用Struts2的实例,目的不是具体的代码,重点在于理解整个框架的运作流程。...struts.xml应该被创建并放置在类的加载文件夹中,使用IDE的话,就创建在src文件夹下,在编译的时候会被拷贝到WEB-INF/classes中。 ?

    72270

    struts2 中 Actionsupport 的作用

    struts2 中 Actionsupport 的作用 Action 跟 Actionsupport 的区别 当我们在写action的时候,可以实现Action接口,也可以继承Actionsupport...ActionSupport类的作用 struts2不要求我们自己设计的action类继承任何的struts基类或struts接口,但是我们为了方便实现我们自己的action,大多数情况下都会继承...com.opensymphony.xwork2.ActionSupport类,并重写此类里的public String execute() throws Exception方法。...因为此类中实现了很多的实用借口,提供了很多默认方法,这些默认方法包括国际化信息的方法、默认的处理用户请求的方法等,这样可以大大的简化Acion的开发。...Struts2中通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的getter和setter方法。

    29430
    领券