- 浏览: 1016751 次
文章分类
最新评论
-
cjh_android:
我想你是对的,至少对于现实是对的,不过对于技术岗位竞争越来越激 ...
程序员的思考--终于确定了自己的技术发展方向 -
dongbiying:
现在情况如何 。。
创业,不能兼职 -
jackyrong:
ie 9 下时,老显示关闭窗口提示,有办法去掉么,就是关闭掉那 ...
jquery右下角弹窗效果 -
lmaxjj:
加点班如果都称得上是累,只能说明还没体会到真正的生活。。
IT男的进化论 -
馨雨轩:
IT男要进化需要先穿越
IT男的进化论
在开始创建新的 Web 项目让其使用 Struts2 技术之前,请读者先去 Struts2 的官方网站 http://struts.apache.org/2.0.9/index.html 下载 Struts2 。个人推荐下载 struts-2.0.11.1-all.zip ,因为它包含了 Struts2 所有的内容,而且之后的说明和解释都是以该包解压后内容基础上进行的。
如果以上操作都完成了,请解压下载的 Struts2 开发包( struts-2.0.11.1-all.zip )。会看到图 1.4 显示的红框中的几个文件夹。
图 1.4 Struts2 文件结构图
在上图中除了两个文本文件是介绍 license 和官方网站介绍外,笔者对五个文件夹的内容逐一介绍。
Apps 文件夹中都是使用 Struts2 的一些官方示例。特别是 struts2-blank-2.0.11.1.war 是 Struts2 在 Web 项目中基础配置的例子。如图 1.5 所示。
图 1.5 apps 文件结构图
Backport 文件夹中提供了是一些 Struts2 使用 Java4 和 Java5 互相转化的示例。由于 Struts2 主要是支持 Java5 的 JDK ( Java Develop Kit ),而有些公司还在使用 Java4 即 Java1.4 的 JDK 。因此 Struts2 设计者提供了这两个版本 Java 互相支持的转化工具和项目的示例。具体内容如图 1.6 所示。
图 1.6 backport 文件结构图
Docs 文件夹则是 Struts2 设计者提供给入门者的所有学习文档,这样初学者可以使用这些文件配合自己实际操作来加深对 Struts2 的理解。内容如图 1.7 所示。
图 1.7 docs 文件结构图
Lib 文件夹提供了 Struts2 在项目开发中所有应该支持的 jar 包,读者可以将这些包导入自己开发的 Web 项目使用的类库中。
注意:不是所有的 jar 包都是在读者的 Web 项目中需要的,读者可以选择部分 jar 包导入到自己的 Web 项目类库中。一般情况下 xwork-2.0.4.jar , struts2-core-2.0.11.1.jar , ognl-2.6.11.jar , freemarker-2.3.8.jar , commons-logging-1.0.4.jar 这些 jar 包是一定需要导入的。
文件结构图如图 1.8 所示。
图 1.8 lib 文件结构图
Src 文件夹是 Struts2 所有的源代码,因为 Struts2 也是一个开源的框架之一。因此所有的源代码都开放给开发者,开发者可以去查阅这些代码,了解 Struts2 的内部或底层实现机制。因此从这一角度来看也是入门者学些 Struts2 的一个很好的文档资料。如图 1.9 所示。
图 1.9 src 文件结构图
熟悉完 Struts2 的文件架构后,打开 MyEclipse ,如图 1.10 是 MyEclipse 的整体视图。
图 1.10 MyEclipse 开发视图
单击 File|New|Project 菜单,打开图 1.11 界面。
图 1.11 新建 Web 项目界面
选择图 1.11 中蓝色显示的 Web Project 项,单击“ Next ”按钮,打开图 1.12 界面。
图 1.12 设置新项目属性
在图 1.12 中,我们在界面中输入项目名称,比如本章是第一章笔者输入的项目名称是 C01 。项目文件一般都是放在缺省的 MyEclipse 设置的 workspace 文件夹下,当然读者也可以把“ Use defult location ”前的勾去掉,然后单击下一行右侧的“ Browse ”按钮选择自己想存放的项目路径。余下的都是项目中源代码即 Java 代码存放的路径和 JSP 等视图文件存放的路径。还有就是 URL ,以后项目部署成功后,都是按照这个 URL 去访问 Web 系统的。然后可以选择支持的 J2EE 的版本,这里是选择 Java EE 5.0 。然后单击“ Finsih ”按钮就完成 Web 项目初始配置。一个没有任何 Java 文件,视图文件以及配置文件的空白项目就如图 1.13 所示。在这基础上就能方便的把相应的 Struts2 文件配置在这个项目里。
图 1.13 C 01 项目基础结构
在此基础上我们将 Struts2 的 lib 文件夹中最基本的类库放到 C01 项目的 WEB-INF\lib 下。如图 1.14 所示。
图 1.14
也可右击项目名,在弹出的菜单中选择“ properties ”属性,如图 1.15 所示。
图 1.15 单击最下方的“属性”选项
在弹出的视图 1.16 中选择“ Java Build Path ”项,然后在右侧第三个选项卡“ Libraries ”中可以看到已经导入的 Struts2 的几个 jar 包。可以单击最右侧的几个选择 jar 包路径选择新的 jar 包或更改原有 jar 包设置按钮。弹出视图如图 1.16 所示。
图 1.16 导入项目支持的 jar 包
在图 1.13 中,在 WebRoot/WEB-INF/ 下有一个名为 web.xml 文件。该文件是 Web 项目的属性整体配置文件,特别是一些过滤器,拦截器还有 Servlet 的配置都在该文件里定义。如果要把 Struts2 在 C01 项目中使用,则要把 web.xml 修改成如下代码:
<!------------------------------------------- 文件名: web.xml-------------------------------->
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<!-- 过滤器名字 -->
<filter-name>struts2</filter-name>
<!-- 过滤器支持的 struts2 类 -->
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<!-- 过滤器拦截名字 -->
<filter-name>struts2</filter-name>
<!-- 过滤器拦截文件路径名字 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
从代码中可知已经将 Struts2 的过滤转发器的映射以及 Struts2 拦截的文件路径定义都声明了,具体的代码含义将在之后章节会有介绍,这里只是让读者明白怎么在 Web 项目里用 Struts2 。
Struts2 还有自己基本的配置文件需要放置在 C01 项目中,也就是之前介绍过的 struts.xml 和 struts.properties 文件。新建这两个文件,将其放在项目的 src 文件夹下,以后 build 整个项目时候,它们也会在 WebRoot\WEB-INF\classes\ 中出现。
放置完之后,效果图 1.17 如图 1.17 所示。
图 1.17 项目属性文件放置图
图 1.17 中的 messageResource.properties 是由 struts.properties 定义的扩展属性文件。它们之间关系就相当于 Java 中父类和子类的关系。子类扩展父类。同理也适用于这两个属性文件。现将这三个文件代码内容显示,只不过让读者知道里面有些什么内容,至于这些内容代表含义以后章节会详细介绍。
<!------------------------------------------- 文件名: struts.xml-------------------------------->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Action 所在包定义 -->
<package name="C01" extends="struts-default">
<!-- 全局导航页面定义 -->
<global-results>
<result name="global">/jsp/login.jsp</result>
</global-results>
<!-- Action 名字,类以及导航页面定义 -->
<!-- 通过 Action 类处理才导航的的 Action 定义 -->
<action name="Login"
class="com.example.struts.action.LoginAction">
<result name="input">/jsp/login.jsp</result>
<result name="success">/jsp/success.jsp</result>
</action>
<!-- 直接导航的的 Action 定义 -->
<action name="index" >
<result >/jsp/login.jsp</result>
</action>
</package>
</struts>
<!------------------------------------------- 文件名 struts.properties -------------------------------->
struts.custom.i18n.resources=messageResource
<!------------------------------------------- 文件名 messageResource.properties -------------------------------->
user.required= 请输入用户名!
pass.required= 请输入密码!
请读者看图 1.18 。
图 1.18 项目文件整体结构
该图的文件结构就是笔者配置的使用 Struts2 的 Web 项目 C01 的基础配置,然后就可以在里面新建视图文件和 Java 文件进行自己的 Web 项目开发。
通过简单的配置,也可以知道 Struts2 配置不是很难,而且在 MyEclipse 帮助下开发工作也是相当快捷的就能完成,并且 Struts2 提供的学习资料和示例也是非常丰富的,因此学习曲线是相当的平缓。在之后章节,笔者将对 Struts2 的各个组成部分和技术细节使用代码示例进行说明。
更多信息请查看 java进阶网 http://www.javady.com
发表评论
-
Struts之拦截器
2012-05-16 17:16 1501今天看了看拦截器,不由得想对拦截器做个描述,在我们进 ... -
struts第一篇:struts诞生记
2012-04-23 22:29 1100Struts是一个开源框架,学Struts有一段时间 ... -
Struts2教程 - 5.4.4 debug标签使用介绍
2012-04-16 21:23 1028技术要点 本节代码具体介绍 debug 数据 标签的使 ... -
Struts2教程 - 5.4.3 date标签使用介绍
2012-04-16 21:23 1138技术要点 本节代码具体介绍 date 数据 标签的使用 ... -
Struts2教程 - 5.2 OGNL表达式语言介绍
2012-04-14 21:15 2116在进行 Struts2 的标签库介绍之前,有必要着重对 ... -
Struts2教程 - 4.1 拦截器在Struts2中的缺省应用
2012-04-09 10:11 1104通过前几章介绍,读者应该明白在 Web 项目中,客户先在视图界 ... -
Struts2教程 - 使用Action类控制导航业务数据
2012-04-09 10:10 1229Struts2 中 Action 充当着一个关键的角色。它解决 ... -
Struts2教程 - 3.4 使用ActionSupport进行校验
2012-04-08 09:04 1549如果 From 数据操作有误,比如输入不是我们需要的数据, ... -
Struts2教程 - 3.3使用Action类控制导航业务数据
2012-04-08 09:04 1125Struts2 中 Action 充当着一个关键的角色。 ... -
Struts2教程 - 5.4.8--10 url标签使用介绍
2012-04-16 21:24 10195.4.8 url 标签使用介绍 ... -
Struts2教程 - 5.4.6-7push、set标签使用介绍
2012-04-16 21:23 1168技术要点 本节代码具体介绍 push ... -
Struts2教程 - 5.4.5 include标签使用介绍
2012-04-16 21:23 1207技术要点 本节代码具体介绍 inclu ... -
Struts2教程 - 5.4.4 debug标签使用介绍
2012-04-17 23:46 1009技术要点 本节代码具体介绍 debug ... -
Struts2教程 - 5.4.3 date标签使用介绍
2012-04-17 23:46 1099技术要点 本节代码具体介绍 date ... -
Struts2教程 - 5.4.2 bean标签使用介绍
2012-04-15 22:57 842技术要点 本节代码具体介绍 bean ... -
Struts2教程 - 5.4.1 action标签使用介绍
2012-04-15 22:57 1125技术要点 本节代码具体介绍 actio ... -
Struts2教程 - 5.3.7 subset标签使用介绍
2012-04-15 22:57 11665.3.7 subset 标签使用介绍 ... -
Struts2教程 - 5.3.5-6 merge、sort标签使用介绍
2012-04-15 22:57 10515.3.5 merge 标签使用介绍 ... -
Struts2教程 - 5.3.4 iterator标签使用介绍
2012-04-14 21:14 1079技术要点 本节代码具体介绍 itera ... -
Struts2教程 - 5.3.3 if、else、elseif标签使用介绍
2012-04-14 21:14 1299技术要点 本节代码具体介绍 if 、 ...
相关推荐
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
commons-pool-1.4类库文件,Spring、hibernate、struts整合开发时有可能需要使用到
commons-fileupload-1.2.1-bin 和 commons-io-1.4-bin.zip 这是Struts 上传文件必备的两个包
struts.xml文件中新增以下内容: <!-- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --> <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...
commons-dbcp-1.2.2,commons-pool-1.4,struts-legacy,commons-dbcp-1.2.1,commons-pool-1.3 这个是在安装SQL 2000时,要用到的,希望能对大家有用。
struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jarstruts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar
org-netbeans-modules-web-frameworks-struts2lib-v2_2_3.nbm
struts-core-1.3.10.jar, struts2-cdi-plugin-2.3.30.jar, struts2-codebehind-plugin-2.3.30.jar, struts2-config-browser-plugin-2.3.30.jar, struts2-convention-plugin-2.3.30.jar, struts2-core-2.3.30.jar, ...
2017年7月7日,Apache Struts发布最新的安全公告,Apache Struts2-strus1-plugin插件存在远程代码执行的高危漏洞,漏洞编号为CVE-2017-9791(S2-048),主要受影响的Struts版本为:2.3.x。 攻击者可以构造恶意的字段值...
赠送jar包:struts2-json-plugin-2.3.24.jar; 赠送原API文档:struts2-json-plugin-2.3.24-javadoc.jar; 赠送源代码:struts2-json-plugin-2.3.24-sources.jar; 赠送Maven依赖信息文件:struts2-json-plugin-...
此包是Struts2实现文件上传的所有jar包,主要包括commons-fileupload-1.2.1 jar 和commons-io-1.4 jar 包,内容很全面。
struts2-config-browser-plugin-2.3.24.jar, struts2-core-2.3.24.jar, struts2-jasperreports-plugin-2.3.24.jar, struts2-jfreechart-plugin-2.3.24.jar, struts2-pell-multipart-plugin-2.3.24.jar, struts2-...
Struts2 S2-029远程代码执行漏洞初探1
struts-taglib-1.3.8.jar struts-taglib-1.3.8.jar
struts2-json-plugin,Struts JSON插件
struts2-bean-validation-plugin-2.5.2.jar, struts2-cdi-plugin-2.5.2.jar, struts2-config-browser-plugin-2.5.2.jar, struts2-convention-plugin-2.5.2.jar, struts2-core-2.5.2.jar, struts2-dwr-plugin-2.5.2....
struts2 s2-045
包含struts2-core-2.5.10.1.jar,struts2-jfreechart-plugin-2.5.10.1.jar,struts2-json-plugin-2.5.10.1.jar,struts2-junit-plugin-2.5.10.1.jar,struts2-bean-validation-plugin-2.5.10.1.jar,struts2-cdi-...
struts2-ssl-plugin-1.2.1.jar
Struts2本身没有自带的两个jar 如果不导入的话会有Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]异常