Struts2系列教程v3.0


-
Struts2系列教程v3.0
制作日期:2009228 struts2系列教程 其 第15章集成 IBATIS 第16章集成 JQUERY 16.1什么是/uery 16.2 jquery作CSS 16.3 queryiMEDOM 16.4、 query处理tert 16.5 /query处理ml 16:4 query处埋jsO 第17章投票管理系统 第18章无纸化办公管理系统 第19章某数据采集系统 第1章 Struts2入门 Struts2的学习持续有一段时间了,也经历个几个小项日。身边也有一些朋友在逐步使用 struts2, 为了减轻他们的学习曲线,我把自己的学习过程用文字记录下米,供他们参考。现在也决定把它共享出 来,请大家批评指正。 Struts2虽然简单,但要一一描述清楚,可能会形成厚厚地一本书。所以我这里仅仅记录与工作相 关的内容。有些部分请读者朋友查看相应的帮助文档或专业书籍 环境说明 1. Struts版本:2.1.2 C Welcoe-Windlovs Inter et [xplore [ANN] Practical /pache S ruts 2 Web 2. c Drojects pache Con y Technologics Us2008 he breadcrumbs nave been servedl struts 1, 2: call ing an action by javascript November 3-7 support parting secur ty Recent releases Davalopmant Scroll down fcr more about Apache struts, the Apache struts project, and struts for on Chare delines May 2003-Struts 2.1.2 Beta Release The latest release of stru 2 is str to Bct cr 26 March 2003. For the latest producti ti U //uls, dpcL le, ur y/uuvrIludu e Ir terel 此处下载的是 struts2.1.2all 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 DOwnload a Rclcaso-Windows Internet Explorer Struts 2.1.2 pache struts 2. 1,2 s the first beta release of the struts 2.1 seres. It is available in ful uisLribuliurl, uI ds seualdle Ibi aly Le, exdI ple dId wocu: I el lLd Liu EapA甲3ap(pcwe o soruts-2.1.2-apps zip (22mb)[GP]IVCE] 7p(4mh)Lpp」LMn」 eSsEntial Dependencies (inly (IFva 4 o sruts-2.1. 2-jdkls zip(3mb)[PGP] [MD5] struts-2.1.2-docs zip(55mb)[PGP][VD51 w Cource 2 src ziF (20b! [PGP] [MD5] 2.JDK版本:JDK1.5 3. Tomat版本:6 4.WySq1版本:5.0 6. MyEclipse版木:6 狳无特别说明,后面的程序都基于以上环境。有些内容是基于 struts-2.1.2所提供的案例。 当提父一个ⅢIM表单到这个框架中的时候,输入并不是被发送到服务页,而是被发送到你提供的 Java类,这些类被称为 Action。在这些 Action执行完后,选择某一个资源来呈现返回结果,这个资源 般是页面,但也可以是PDF文件,或者是 Excel文件,亦或是 Java applet窗口。 假设你想要创建一个“ Hello world”的例子来呈现欢迎信息,在你准备好廾发坏境后,为了创建 个“ Hello World”的例子,你需要做如下三件事情: 1、创建一个jsp页面来呈现欢迎信息 2、创建一个 Action类来创建信息 3、在配置文件中配置 action和页面的映射关系。 注意:为了创建这个组件,我们将⊥作流分成几乎无人不晓的三部分:视图、模型和控制器。分离 这三部分的原因是当系统变得越来月复杂的时候,我们能够更好的管理。 准备工作 建立web工程,其中工程名为 tutorial,在 Webroot卜引入 struts2的1ib下的如卜4个包 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 回ntr2.72jr aeoesonsbeanutils-1.6.jar a] comsons-chain-1.1.jar 告mns1 ocEan1.0.4.j4 comsons-loggincapi-1. 1. jar a]commons validator-1.3.0.jar freemarker2.3. 8. jar o12.6.11.jar -20.8.j astruts2-codebehind-plugir-2.011.jar alstruts2-conficbrowserplugin-2.0 11,ju 型2一eFe一20.11.ja struts2-jasperreportrplugin2.011.jar struts2-jfreechart plugin.0. 11. jar astruts2-jsf-plugin-2.011.jar astrut 2-pell-multipart-plugin-2011.j 1struts2-plexusplugin-2.011.jar astrutsz-sitegraph-plngin-2.011.jur dstrutse-siteaesh-plugin-2.011 astrutx2-sprincplugin-2.011.jar astruts2-struts1-plugin-2.0.11.jar astruts2-tiles-plugin-2.011.jar r13.5.j4F Itiles-api-2. 0.4.jar Etiles-eore-2.0.4.jar atiles-jsp-2.0.4.jar twork 2.0.4.jar 在web.xm1文什中增加 struts2的 FilterDispatcher,修改后的veb.xn1如下: K?xmI version=1.0 encoding="UtF-8 ?> web-appid=webapp_9version=2.1xmins=http://java.sun.com/xml/ns/j2ce xmins:xsi=http://www.w3.org/2001/xmlschema-instance xsischemalocation=http://java.suncom/xm1/ns/j2ee http://java.suncom/xml/ns/j2ce/web-app24.xsd"> <display-name>tutorial</ display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org. apache struts2 dispatcher. FilterDispatcher</filter-class> </filter) filter-mappin <filter-name>struts2</filter-name) Kurl-pattern>/*/url-pattern </filter-mapping> swelcome-file-list Kwelcome-file>index. html/welcome-file? K/welcome-file-list> K/web-app 注意: struts2配置了一个过滤器来执行分发功能。 代码 1、我们需要一个jsp页面来呈现信息,He1 LoWorld.jsp页面代码如下所示 K@ page content Type= text/html; charset=UTF-8"%> <%@ taglib prefix-s" uri-"/struts-tags"%> <html Head> <titleHello World!/title> 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 <s: property value-"message"/> /h2 </body </htmI> Struts2标签引用也简单多了,只需要一句就可以 2、我们需要一个 Action类来创建信息,代码如 package org. xmh. import java. util. Date import java. text DateFormat import com. opensymphony xwork2. ActionSupport public class HelloWorld extends Action Support I private string mes sage public String getMessage( i return message public string execute(i message llo Wor ld. now is DateFormat get(. format (new Date) return SUCCESS 3、我们需要在配置文件中进行相应配置米将两者联系起來。让我们编辑src下的 struts.xml文件, 该文件内容如下: <! DOCTYPE struts public -//Apache Software Foundation//DTD Struts Configuration 2.0//EN http://struts.apacheorg/dtds/struts-2.0.dtd> <struts? Kpackage name=tutorial extends="struts-default> Action name="llelloWorld class=tutorial. llelloWorld"> Result>/HelloWorld. jsp(/result> /action <!-- Add your actions here K/package> K/struts> 4、发布与测试 部署该应用程序并在IE地址栏中输入http://localhost:8080/struts2demo/helloworld.action 可以看到标趣栏为: Hello World,并且显小“ Struts is up and running!”的面呈现在我们面前。 C Hello World!- Windows Internet Explorer 匚 ③·h/ist3/2m4%an +× 中Hl Hello world, Now is08-828上午4:57 成 Internet 代码是如何⊥作的? 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 上述He1 lo World的小例用处理流程如下所小: Tomc -intel Dispatc 1ar Llello orld isR Llellownorlc 片 accute万 送于名户端 用文字来描述这个处理过程如下: ①浏览器请求http://localhost:8080/tutorial/helloworld.action发送到web应用服务器。 ②容器接收到了Web服务器对资源 llelloworld. action的请求,根据web.xm1中的配置,服务器将 包含有. action后缀的请求转到org. apache. struts2. dispatcher. FilterDispatcher类进行处理。调用 这个 FilterDispatcher,进入 struts2的流程中。 ③框架在 struts.xml配置文件中査找名为 Hellowor ld的 action对应的类。框架初始化该 Action 并且执行该 Action类的 execute方法; ④ execute方法将信息放入 message变量中,并返回成功。 ⑤框架检査配鲎以査看当返回成功时对应的臾面。框架告诉容器来获得请求返凹的结果臾血 ⑥<s: property value=" message"八标签调用 Helloworld的 Action类中的 getMessage方法来获 得 message的值。 ⑦标签显示 message并以HTM格式呈现给用户; 四、测试 Action 测试 Action很简单,以下是上述 Helloworld的 Action类的测试类的代码: ASL山e! I New Init 3 heat C Nw TUnit t bg Source folr: strut: 2e mmac Package org.xMhdemo rea; ruildMtHTk,1e的 W鸭号 od sbbs nuul you lie to agate 厂的物数图 H pompano 厂 cortin low Du yu Want w add sumn图Ur贴团据可以以阳 Chx umr tot E ue Class Under Test Test stbs will be gener ated fop=lss: 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 package org. emo import junit framework. Test Case import com opens ymphony. work2 Action Support public class Tes tHello extends TestCase public void testHelloWorld( throws Exception HelloWorld hello world- new HelloWorldO String result=hello world. execute) assertTrue (ActionSupport SUCCESS equals(result)) 五、需要记住的东西 本框架利用 Action来处理HTML的表单以及其余请求。 Action返回一个结果的名字字符串,例如 SUCCESS、 ERROR以及INPT等,从 struts.xml中获取映射信息。一个给定的结果字符串将选择一个页 面或其他资源(图片或PDF)来返回给用户。 当一个jsp被载入的时侯,通常有一些动态变化的元素需要 Action来载入。为了更加容易的显示 动态数据,本框架提供了些可以跟HML配合使用的标签。 六、问题汇总 如果你的程序无法正常运行,并且显示如下的错误: 正重: Exception starting filter struts2 Unable to load configuration.- bean jar: file: /F: /Struts2/Struts2/ WebRoot/WEB-INF/lib/struts2-core-2 1 2. jar!/ struts-defau lt.xm1:46:178 at com opensymphony xwork2 config. ConfigurationManager. getConfiguration(Conf'igurationMan ager. java: 58) org. apache. struts2 dispatcher Dispatcher init PreloadConfiguration(Dispatcher. java: 37 at org. apache struts2 dispatcher Dispatcher init(dispatcher. java: 424) 原因是由于有些文件的版本不匹配造成的,请将1ib包中相关的 commons组件包拷至项日之中并覆 盖之即可 \struts2\struts-21.2-allstruts-2,1.2\ ib 名称 id aopalliance-1. jar s-1.1 idcommons-beanutils-1,7.0. jar tHcommons-chain-1.1. jar Commons-c0| ections32同a commons-fileupload-1. 2. 1. jar Icommons-io-1,3.2.jar 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 如果你的程序出现如下的错误信息 严重: Could not find action or result There is no Action mapped for name space/ and action name login.-[unknown location] at com opensymphony. xwork2. DefaultActionProxy prepare(DefaultActionProxy java: 186) org. apache struts2 impl. Strut sActionProxy Factory. createAction Proxy(StrutsActionProxy Factory. java: 41) at org. apache struts2 dispatcher. Dispatcher. serviceAction (Dispatcher. java: 494) at java. lang Thread run(Unknown Source 请确保你的 struts2.xm1放在 classes下,亦即你的 struts2.xml是否位于src日录之下。 第2章 Struts2晋级 Struts2实际上是在 Webwork基础上构建起来的MWC框架。从 Struts2的源代码中可以看到,有很 多都是直接使用的 work( Webwork的核心技术)的包。既然从技术上来说 Struts2是全新的框架,那么 就让我们来学习一下这个新的框架的使用方法 如果人家使用过 Struts1.x,应该对建立基于 Struts1.x的Web稈序的基本步骤非常清楚。让我们 先米回顾一下建立基于 Struts1.x的Web程序的基本步骤。 1、安装 Struts由于 Struts的入口点是 Actionservlet,所以得在web.xml中配置一下这个 Servlet 2、编写 Action类(一般从org. apache. struts. action. Action类继承)。 3、编写 Actionfort类(一般从org. apache. struts. action. Actionfori类继承),这一步不是必 须的,如果要接收客户端提交的数据,需要执行这一步。 4、在 struts config.xm1文件中配置 Action和 Actionform 5、如果要采集用户永入的数据,一般需要编与若干JSP贝面,并通过这些JSP贞面中的form将数 据提交给 Action。 卜面按编写 struts1.ⅹ程序的这扛步和 struts2.x程序的编写过程一一对应,看看它们的异同。编 写一个基于 Struts2的Web程序。这个程序的功能是让用户录入两个整数,并提交给一个 Struts action 并计算这两个数的代数和,如果代码和为非负数,则跳转到 positive.jsp页面,否则跳转到 negative.jsp 页面。 【第1步】安装 Struts2 这一步对」 Struts1.x和 Struts2都是必须的,只是安装的方法不同。 Struts1的入口点是一个 Servlet,而 Struts2的入口点是一个过滤器 Filter)。因此,Sτruts2要按过滤器的方式配置。下面是 在web.xm1中配置 Struts2的代码 <filter> <filter-name>struts2</filter-name> <filter-class> org. apache struts2 dispatcher. FilterDispatcher K/filter-class> /filter Kfilter-mapping> <filter name)struts2</filter name> Kurl-pattern/*</url-pattern> K/filter-mapping, 【第2步】编写 Action类 这一步和 Struts1.x也必须进行。只是 Struts1.x中的动作类必须从 Action类中继承,而 Struts2.x 的动作类需要从com. opensymphony. work2. ActionSupport类继承。下面是计算两个整数代码和的 大漠孤烟 群 制作日期:2009228 struts2系列教程 其 Action类,代码如下: package action import com. opensymphony. xwork2 Action Support public class firstAction extends ActionSupport private int operand1 private int operand2 public string execute( throws Exception if( getSum O〉=0)/′如果代码数和是非负整数,跳到 positive.jsp页面 return positive else/′如果代码数和是负整数,跳到 negative.jsp页面 return negative public int getOperand1() return operandI oublic void se andI(int operand1) System. out. println(operand1) public int ge nd2( turn operand2 bli nd2 (int ope System. out. println(operand2) th public int getSum() return operand1- operand2;//计算两个整数的代码数和 从上面的代码可以看出,动作类的一个特征就是要覆盖 execute方法,只是 Struts2的 execute方 法没有参数了,而 Struts1.x的 execute方法有四个参数。而且 execute方法的返回值也不同的 Struts2 只返回一个 String,用」表述执行结果(就是一个栎志)。上面代码的其他部分将在下面讲解。 【第3步】编写 Actionform类 在本例中当然需要使用 Actionform了。在 Struts1.x中,必须要单独建立一个 Actionform类(或 是定义一个动作Form),而在 Struts2中 Action form和 Action已经二合一了。从第二步的代码可以看 出,后面的部分就是应该写在 Actionform类中的内容。所以在第2步,本例的 Actionform类已经编写 大漠孤烟 群

2.57MB
Struts2V3.0-(中文)参考手册
2016-01-30Struts 2中文参考手册,Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与
21.50MB
struts2+springsecurity3.0例子
2011-12-13简单springsecurity3.0的例子 做了详细注释,另外集成了tiles 和conversion插件,希望对你有帮助,里面有不对的地方请给我留言,我加你QQ一起讨论..注:我是通过maven管
2.35MB
Struts2入门V3.0.rar
2013-01-23文档格式 PDF 目录 有 Struts2入门参考资料,同时也可以作为平时开发时翻查的手册
14.47MB
struts1.3+spring3.0+hibernate3.3简单项目示例
2013-07-31struts1.3+spring3.0+hibernate3.3简单项目示例
16.14MB
Struts1.2+Hibernate3.0+Spring2+DWR OA 办公自动化管理系统
2017-05-30Struts1.2+Hibernate3.0+Spring2+DWR OA 办公自动化管理系统
125B
西安领航培训Struts2视频教程(45集)
2019-07-22资源名称:西安领航培训Struts2视频教程(45集)资源目录:【】西安领航培训Struts2视频教程1-7【】西安领航培训Struts2视频教程15-21【】西安领航培训Struts2视频教程22-
125B
浪曦Struts2系列视频教程
2019-07-22教程名称:浪曦Struts2系列视频教程课程目录:【】1 Struts2入门与配置【】10 Struts2的核心 拦截器【】11 Struts2的核心 拦截器续【】12 Struts2的文件上传和下载
12.89MB
Struts2+Spring3.0+Hibernate3.3 练习登录注册的例子,适合初学者
2018-03-13Struts2+Spring3.0+Hibernate3.3 练习登录注册的例子,适合初学者
48B
尚硅谷Struts2视频教程
2017-08-08若是链接失效、可联系本人
48B
Struts/Struts2视频教程/2.8G
2017-11-09本资源为struts视频教程,百度云链接,永久有效,失效联系我
27KB
K8 Struts2 Exploit(Struts2综合漏洞利用工具)
2015-05-30K8 Struts2远程代码执行漏洞利用工具 (Apache Struts Remote Code Execution Exploit) Struts2漏洞检测工具 Struts2漏洞测试工具 K8
259KB
K8 Struts2 Exp 20160516(Struts2综合漏洞利用工具)
2016-05-16K8 Struts2 Exp 20160516(Struts2综合漏洞利用工具) K8 Struts2 综合漏洞利用工具 (Apache Struts Remote Code Execution Ex
577KB
Struts1+Spring3.0+Hibernate3.3 练习登录注册的例子
2018-03-10Struts1+Spring3.0+Hibernate3.3 练习登录注册的例子,适合初学者
46.91MB
最新巨瑞JRFX_V3.0微信三级分销系统6套前台模板短信功能独家一键更新
2018-10-30微信卡密三级分销完整源码 (卡密) 开发框架:struts2、spring、hibernate 开发环境: myeclipse2013、mysql5.1、tomcat7.0 如果是用eclipse导入
1.39MB
Struts2教学视频
2013-06-04Struts2的功能方法,看了就基本懂struts是什么回事了
32.93MB
Struts2 技术内幕——深入解析Struts2架构设计与实现原理.pdf
2018-08-03《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及
17.63MB
spring3.0+hibernate3.0+struts2
2016-03-25spring3.0+hibernate3.0+struts2
193KB
Struts2漏洞检查工具2018版 V2.1.exe
2019-01-12Struts2漏洞检查工具2018版 V2.1. Struts2漏洞检查工具2018版 V2.1.2018 级以前所有序列号动都有 支持cookies 批量检测
26.28MB
struts2-core.jar
2016-08-03struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.ja
6.5MB
Struts2+Spring3.0+MyBatis3.0平台搭建spring+json+gson+mysql,经典版本spring3.0+,完整架包
2017-12-29spring3.0+,经典版本,完整架包,包含spring+json+gson+mysql,整理不易,请大家下载后好好使用,有什么欠缺,大家可以回复我。
59.64MB
传智播客struts2.1视频教程—源代码
2013-01-23很全的传智播客struts2.1视频教程-源代码,适合初学者作为例子学习,使用。
58KB
Struts2漏洞利用工具2019版 V2.3.zip
2020-09-11Struts2漏洞利用工具2019版 V2.3.zip
39.43MB
Struts 2 实战 (struts 2 In Action)
2018-08-18《Struts 2实战》结合实例介绍了Struts 2框架,主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMark
59KB
Struts2漏洞检查工具Struts2.2019.V2.3
2021-01-25Struts2漏洞检查工具Struts2.2019.V2.3
2.98MB
struts2jar包
2012-07-25使用struts2开发之前必须引入struts的包。
1.79MB
struts2.0中文教程
2008-11-1301 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05
15.65MB
OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar
2021-02-06OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)内容丰富可供二次开发
4.82MB
Struts2与Guice(Guice3.0、Struts2.x)的整合(附demo)
2019-04-19NULL 博文链接:https://jayung.iteye.com/blog/1881794
125B
Struts2.1配置及应用视频教程(全套共27集)
2019-07-22资源名称:Struts 2.1配置及应用视频教程(全套共27集)资源目录:【】01介绍struts2及struts2开发环境的搭建【】02第一个struts2应用开发【】03_传智播客struts2.
55.39MB
struts2技术内幕+struts2权威指南
2018-03-03《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及
-
博客
如何设计一个网络程序
如何设计一个网络程序
-
学院
《Linux 命令简介》<Linux核心命令系列Series> <1.
《Linux 命令简介》<Linux核心命令系列Series> <1.
-
下载
商务英语个人求职信模板.docx
商务英语个人求职信模板.docx
-
下载
pn532模拟资料包.zip
pn532模拟资料包.zip
-
博客
2021-03-07
2021-03-07
-
学院
Cocos Creator游戏开发-疯狂弹球 视频教程
Cocos Creator游戏开发-疯狂弹球 视频教程
-
博客
1493 D. GCD of an Array(动态开点线段树)
1493 D. GCD of an Array(动态开点线段树)
-
学院
Python函数库深度详解(1)
Python函数库深度详解(1)
-
下载
第 1 章 绪 论 1.1 数据结构的兴起和发展数据结构ch01.doc
第 1 章 绪 论 1.1 数据结构的兴起和发展数据结构ch01.doc
-
博客
windows远程下载
windows远程下载
-
下载
《五人墓碑记》课件.ppt
《五人墓碑记》课件.ppt
-
学院
MySQL 函数、用户自定义函数
MySQL 函数、用户自定义函数
-
下载
降压锁频-烤机教程4.0版.pdf
降压锁频-烤机教程4.0版.pdf
-
下载
数据结构ch03.doc
数据结构ch03.doc
-
博客
怎么考100分
怎么考100分
-
博客
org.springframework.dao.DuplicateKeyException ERROR Mysql
org.springframework.dao.DuplicateKeyException ERROR Mysql
-
下载
多尺度密集残差网络的单幅图像超分辨率重建.pdf
多尺度密集残差网络的单幅图像超分辨率重建.pdf
-
下载
一维磁激波管\激波管matlab数值计算
一维磁激波管\激波管matlab数值计算
-
学院
CCNA_CCNP 思科网络认证 动态路由 RIP 协议
CCNA_CCNP 思科网络认证 动态路由 RIP 协议
-
学院
python Flask+scrapy+人工智能 实现高性能搜索引擎
python Flask+scrapy+人工智能 实现高性能搜索引擎
-
下载
录屏软件免费录制,亲测好用
录屏软件免费录制,亲测好用
-
学院
Android APP 性能和自动化测试框架精品课程
Android APP 性能和自动化测试框架精品课程
-
学院
python自动化管理文件和文件夹
python自动化管理文件和文件夹
-
博客
问题 B: C语言10.2
问题 B: C语言10.2
-
学院
华为1+X——网络系统建设与运维(中级)
华为1+X——网络系统建设与运维(中级)
-
博客
编程_Git基础教程
编程_Git基础教程
-
下载
0034、基于单片机的电集中抄表设计论文资料.rar
0034、基于单片机的电集中抄表设计论文资料.rar
-
下载
Excel批量快速合并工具(完全免费)
Excel批量快速合并工具(完全免费)
-
学院
stm32+4G从零开始连接阿里云IOT
stm32+4G从零开始连接阿里云IOT
-
学院
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表