struts2框架

Java web学习(五)

寵の児 提交于 2019-11-28 09:28:44
Struts2框架几乎是目前最优秀的MVC框架之一。Struts2框架是WebWork框架和Struts1框架的结合体。 Struts2结构体系 注:现在StrutsPrepareAndExecuteFilter过滤器已经代替了FilterDispatcher过滤器。 工作原理:当客户端发送一个HTTP请求时,需要经过一个过滤器链,这个过滤器链包括ActionContextClearUp过滤器,其他WEB应用过滤器及StrutsPrepareAndExecuteFilter过滤器,其中StrutsPrepareAndExecuteFilter过滤器是必须要配置的。 当StrutsPrepareAndExecuteFilter过滤器被调用时,ActionMapper将查找需要调用的Action对象,并返回该对象的代理ActionProxy。然后ActionProxy将从配置管理器ConfigurationManager中读取Struts2的相关配置(struts.xml)。Action容器ActionInvocation调用指定的Action对象,在调用之前需要经过Struts2的一系列拦截器。 当Action处理请求后,将返回相应的结果视图,在这些视图中可以使用Struts2标签显示数据并控制数据逻辑。然后HTTP请求回应给浏览器,在回应的过程中同样经过过滤器。

struts2入门

蓝咒 提交于 2019-11-28 05:06:56
struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,这个框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。 struts2的优点 : 项目开源,使用及扩展方便 - 天生优势; 提供Exception处理机制; Result 方式的页面导航,通过 Result 标签很方便的实现重定向和页面跳转; 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易; 提供简单、统一的表达式语言来访问所有可供访问的数据; 提供标准、强大的验证框架和国际化框架; 提供强大的、可以有效减少页面代码的标签; 提供良好的Ajax支持; 拥有简单的插件,只需要放入响应的 jar 包,任何人都可以扩展 Struts2 框架。 struts2配置文件 struts-base.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http:/

Struts2框架简单介绍

房东的猫 提交于 2019-11-28 04:02:39
如需,了解Struts2详情,请点击, 传送门 工作原理 在Struts2 框架中的处理大概分为以下步骤:    1.客户端初始化一个指向servlet容器(例如Tomcat)的请求。   2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的继承很有帮助,例如:SiteMesh Plugin)。   3.接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action。   4.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。   5.ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。   6.ActionProxy创建一个ActionInvocation的实例。   7.ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(intercepter)的调用。   8.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回的结果通常是

Struts2——用来开发 MVC 应用程序的框架,可用于创建企业级Java web应用程序

ぃ、小莉子 提交于 2019-11-28 03:11:22
Struts2教程 https://www.w3cschool.cn/struts_2/ Apache Struts 2最初被称为WebWork 2,它是一个简洁的、可扩展的框架,可用于创建企业级Java web应用程序。设计这个框架是为了从构建、部署、到应用程序维护方面来简化整个开发周期。 Struts2 是一个用来开发 MVC 应用程序的框架. 它提供了 Web 应用程序开发过程中的一些常见问题的 解决方案: 对来自用户的输入数据进行合法性验证 统一的布局 可扩展性 国际化和本地化 支持 Ajax 表单的重复提交 文 件的上传下载 ….. 来源: https://www.cnblogs.com/highpointengineer/p/11388202.html

struts1-2,springMVC原理基本对比(单例,多例)-servlet与filter区别

这一生的挚爱 提交于 2019-11-27 17:14:37
最近做项目用到了struts2,之前一直是用struts1和springMVC。感觉到了struts2从很大程度上和这两个还是有很大区别的,所以今天搜集了些资料,给他们做一下对比。 Struts1官方已经停止更新,现在用的也比较少,这里主要讲一下struts2和struts1比较都有哪些不同和进步。Struts2可以说不是完全从struts1改进来的,因为struts2原本就是举世闻名的Webwork2,在经历几年的发展之后,struts和WebWork社区决定合二为一,也就是今天的struts2. Struts2与struts1比较的新特性: Action 类: • Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。 线程模式: • Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心

Struts2框架的大致流程

白昼怎懂夜的黑 提交于 2019-11-27 15:17:14
浏览器发送请求,例如请求/mypage.action、/reports/myreport.pdf等。 Control中的核心控制器FilterDispatcher根据请求调用相应的业务逻辑控制器(Action)。 Struts2的拦截器链自动对请求应用通用功能,如数据校验和文件上传等功能。 回调Action中的execute()方法,并在方法体内调用业务逻辑组件来处理请求(Model)。既可以是将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求。 execute()方法将调用业务逻辑组件(Model)得到的数据返还并更新视图层(View),可以是HTML页面、图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。 来源: http://www.cnblogs.com/joyous-day/p/6148744.html

Struts2第1天+

耗尽温柔 提交于 2019-11-27 13:59:40
第1章 struts2 基本概念 1.1 三层架构和三大框架各自的位置 1.1.1 三层架构: 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/ 服务器,另一种是B/S 架构,也就是浏览器服务器。在JavaEE 开发中,几乎全都是基于B/S 架构的开发。那么在B/S 架构中,系统标准的三层架构包括: 表现层、业务层、持久层 。三层架构在我们的实际开发中使用的非常多,所以我们课程中的案例也都是基于三层架构设计的。 三层架构中,每一层各司其职,接下来我们就说说每层都负责哪些方面: 表现层: 也就是我们常说的 web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http 协议请求web 层,web 需要接收http 请求,完成http 响应。 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。 表现层的设计一般都使用 MVC 模型。(MVC 是表现层的设计模型,和其他层没有关系) 业务层: 也就是我们常说的 service 层。它负责业务逻辑处理, 和我们开发项目的需求息息相关。 web 层依赖业务层 ,但是业务层不依赖 web 层。 业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的

struts2所需的jar包

帅比萌擦擦* 提交于 2019-11-27 09:28:29
struts2.2以后配置以及所需的jar包 如果加入以下四个包: *struts2-core-2.2.1.1.jar ,(内核) *xwork-core-2.2.1.1jar (内核) *freemarker-2.3.16.jar *ornl-3.0.jar( 表达式语言 ) 将会报以下错误: 严重: Exception starting filter struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils 添加了: commons-lang3-3.1.jar 又会报下面错误: 严重: Exception starting filter struts2 Unable to load configuration. - bean - jar:file:/D:/JavaProject/OA/WebRoot/WEB-INF/lib/struts2-core-2.3.12.jar!/struts-default.xml:53:178 需要添加如下包: *commons-fileupload-1.2.1.jar (关于文件下载) *commons-io-1.3.2.jar (文件下载所要用的) 添加了以上的包后就可以运行了,但有时候也会报以下错误: Javassist library is

细谈Spring(十一)深入理解spring+struts2整合(附源码)

非 Y 不嫁゛ 提交于 2019-11-27 03:24:08
Spring 和 struts 2 是我们在项目架构中用的比较多的两个框架,怎么才能把这两个框架用好,怎么来 整合 是我们掌握运用这两个框架的关键点,下面我们就怎么来 整合 ,从哪来 整合 ,为什么要 整合 ,从这几点来看一下 struts 2 和 spring 的 整合 。下面我们来具体分析一下: 我们一起来想想,如果让 spring 和 struts 2 进行 整合 ,我们就希望我们可以在 spring 中直接注入 action , spring 容器初始化的时候就给我们建好了 action ,但是事情不像我们想象的那么简单, 因为 struts 2 的 action 是由 struts 2 自己 new 出来的,他不受 spring 的管理,所以无法自动注入。 所以 struts 和 spring 的 整合 的结合点在于, struts 2 的 action 不能直接入 service 。好了,既然有了问题, spring 或者 struts 2 肯定已经为我们把这个问题解决了。 struts 2 解决这个问题是他给我们提供了一个 struts - spring -plugin 的插件,通过这个插件我们就可以把我们的 struts 2 和是 spring 进行 整合 了。 struts - spring -plugin 将会对我们的 action 进行管理,当 spring