一直没用过大名鼎鼎的Struts2,网上找了很多示例程序,总是不尽人意。下载完struts-2.3.4.1,简单浏览了一下目录结构,突然想到,不如用下载包中自带的示例程序进行学习,保证是最新的Struts2,而且示例较权威。以下是我的学习步骤,写出来供初学者参考,struts大牛如果有时间看的话,也希望能够提一些宝贵的意见。
1. 首先到http://struts.apache.org/download.cgi#struts2341页面下载最新版本的Struts2。这里我们下载完整版的Full Distribution:struts-2.3.4.1-all.zip (76mb) (简洁起见,类似这种我就不截图了)
2. 解压,打开,我们看到有apps,docs,lib,src四个文件夹,见名知意,我就不翻译了。这里我只看了apps里面的内容,英文不太好,docs里面的内容我没有仔细研究,都直接google中文资料了,另外apps里面对应的示例文件夹里,也包含了源代码文件,所以这里src也可以不看。
3. 进入apps,看到四个war包,用winrar解压struts2-blank.war,留作以下使用。这里我们先只研究这一个包。当然如果你只是想运行,而不看代码的话,直接把此war包放到容器的的项目路径,启动容器就可使用这个struts2-blank。
4. 现在我们用自己的IDE建一个web project,在这里我将project命名为struts2-blank,并且指定context url为struts2-blank。依次装上一步解压后的war包对就文件复制到web project对应路径下,下面我依次复制。这里我用的是MyEclipse10。
4.1 web.xml.
首先用在解压好文件夹里找到struts-2.3.4.1\apps\struts2-blank\WEB-INF\web.xml替换掉项目struts2-blank中对应WEB-INF\web.xml文件。打开web.xml,我们看到
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
通过配置这个Filter,启动Struts框架,StrutsPrepareAndEXecuteFilter()方法中将会读取类路径下的默认文件struts.xml完成初始化操作。Struts将struts.xml文件内容,以javabean的形式存放在内存中,从而不必重复读取struts.xml文件。
4.2 struts.xml
在解压好的文件夹里找到struts-2.3.4.1\apps\struts2-blank\WEB-INF\src\java\struts.xml,复制到项目struts2-blank的src下,Myeclipse会自动将struts.xml布署到WEB-INF\classes下的。
同时将同一目录下example.xml文件复制过去。
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings>
<action name="index">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
<include file="example.xml"/>
首先配置package,在这里我感觉name属性不太重要,只要不重名就行,namespace属性比较重要,指定了是发布以后的访问的路径,也就是url的一部分。
然后是是指定该package下默认的action,这里默认跳转到index,而在index下又进行了重定向到/example/HelloWorld.第5步详细解释
为了清晰起见,在这里用include文件的方式,在example.xml中指定其它action.这里不一一解释。
4.3 lib包
将struts-2.3.4.1\apps\struts2-blank\WEB-INF\lib文件夹下的包复制到项目struts2-blank中对应WEB-INF\lib下,原因不解释。
4.4 jsp文件
将struts-2.3.4.1\apps\struts2-blank\下的example文件夹复制到项目struts2-blank的WebRoot目录下。
4.5 java文件
将struts-2.3.4.1\apps\struts2-blank\WEB-INF\src\java下example文件夹复制项目struts2-blank下的src下。
5. 运行
布署程序到tomcat下。run servler
在浏览器访问http://localhost:8080/struts2-blank/example/HelloWorld.action,既可成功看到
由于我们在4.2中配置了所以在url,http://localhost:8080/struts2-blank/下随便输入其它地址,都会跳转到index,然后index再重定向到HelloWorld,返回页面与上面的相同
如我们随便输入访问http://localhost:8080/struts2-blank/aaaaaa 同样会返回以上页面。
6. 关于package.properties
这个示例同样实现了语言的国际化,通过对package.properties的配置,实现了多语句,开始我也很奇怪在配置文件中没有指定读取package中的多语内容。后来上网查了一下,是这样解释的:
引用
在java的包下放置package_language_country.properties资源文件,package为固定写法,处于该包及子包下的action都可以访问该资源。当查找指定key的消息时,系统会先从package资源文件查找,当找不到对应的key时,才会从常量struts.custom.i18n.resources指定的资源文件中寻找。
例如我们如果要增加中文包,只需增加文件package_zh_CN.properties
下面是我在加了中文包后访问helloworld的页面
由于框架会自动检测当前系统语言,所以不需要任何配置,显示即为中文。当然你也可以在jsp中添加中文链接。
先就写到这里吧,共同学习,欢迎留言讨论。
- 大小: 2.8 KB
- 大小: 3.4 KB
分享到:
相关推荐
综上所述,"struts-2.3.4.1第一部分"提供了Struts 2框架的关键组件,包括jar包和API文档,为开发者构建基于MVC模式的Java Web应用提供了便利。开发者可以通过API文档深入理解框架的工作原理,并利用jar包中的类和...
`struts-2.3.4.1-all.zip` 是一个包含Struts 2.3.4.1版本所有组件的压缩包,适用于开发人员在构建Web项目时使用。 Struts 2的核心功能包括: 1. **Action与Result**:Action是业务逻辑的载体,当用户请求一个URL时...
总的来说,xwork-core-2.3.4.1的源代码是一份宝贵的教育资源,它揭示了Struts2框架的内在逻辑,为开发者提供了一扇深入理解MVC框架设计思想的窗口。只有深入源码,才能真正驾驭框架,实现高效、稳定的Web应用开发。
Struts 2.3.4.1 是一个流行的开源Java框架,主要用于构建MVC(Model-View-Controller)架构的Web应用程序。这个版本包含了多个关键组件的更新和改进,为开发者提供了更强大、更安全的功能。以下是这个版本中涉及的...
官方发布的"struts-2.3.15.1-lib.zip"是一个包含Struts2框架2.3.15.1版本库文件的压缩包,它包含了所有必要的jar包,以帮助开发者更新他们的系统以抵御已知的安全威胁。此版本的发布是为了修复之前版本中的安全漏洞...
此压缩包"struts-2.3.4.1-docs.zip"包含了Struts 2框架的版本2.3.4.1的官方文档,为开发者提供了详细的使用指南和技术参考。 在Struts 2.3.4.1这个版本中,我们关注以下几个关键知识点: 1. **MVC架构**:Struts 2...
这个"struts-2.3.4.1最全架包"包含了Struts2框架的完整版本,适用于开发者进行项目开发或者学习使用。 在Struts2框架中,有以下几个核心概念和功能: 1. **Action类**:这是业务逻辑的执行入口,通常继承自`org....
struts2-core-2.3.4.1-sources.jar最新jar包(2012.10.22) 0分资源,方便你我 struts2-core-2.3.4.1-sources.jar源码,学strut2源码时能用到的
xwork-core-2.3.4.1 struts2
接触新版本出了问题后,解决了把jar文件上传上来供大家分享, 一共9个jar文件,我试过没问题 ...<package name="default" namespace="/" extends="struts-default"> /helloWorld.jsp </struts>
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
`struts-2.3.dtd`为`struts.xml`文件提供了语法指导,确保开发者遵循Struts2框架的正确配置格式。通过引用这个DTD,IDE可以验证配置文件的语法,从而提供有用的错误检查和代码补全功能,提高开发效率。 在`struts....
struts2-jfreechart-plugin-2.3.4.1.jar
在"struts-2.3.4.1 lib"这个压缩包中,我们可以找到Struts2框架运行所需的各种jar包,这些jar包是Struts2的核心组件和依赖库。它们包括: 1. **Struts2核心库**:如`struts2-core.jar`,这是框架的基础,包含了...
综上所述,"struts-2.3.4.1-lib"这个压缩包是构建基于Struts2的Java Web应用的基础。它包含了所有必要的库和组件,让开发者能够快速地设置开发环境,实现MVC架构,提高代码复用性和可维护性,同时通过插件扩展框架...
描述中同样提到了"struts-2.3.16.3",这暗示了这个压缩包可能包含了Struts 2框架的源代码、文档、示例应用以及其他相关资源。用户可以下载并解压这个包,用于学习、开发或升级现有的Struts 2项目。 标签"struts2...
标题"struts-2.3.4.1的jar包"表明这是Struts2的一个特定版本——2.3.4.1的集合文件,通常包含框架运行所需的所有库文件。Struts2的每个版本都会修复前一版本的已知问题,增加新功能或改进性能,因此"最新版本"意味着...
struts2-spring-plugin 最新jar包(2012.10.22) 0分资源,方便你我
在给定的“struts-2.3.15.3所有jar包”中,我们看到的是Struts 2框架的一个特定版本——2.3.15.3的依赖库集合。这个版本包含了执行Struts 2应用所需的所有核心组件和其他相关库。下面将详细介绍这些jar包以及它们在...
Struts 2是Java Web开发中的一个开源框架,...在使用“struts-2.3.16.1-all”压缩包时,开发者可以利用其中的文档、示例和源代码来更好地理解和学习Struts 2框架的各个方面,从而高效地构建和维护Java Web应用程序。