首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于 Struts 2 开发 Web 应用 -1

基于 Struts 2 开发 Web 应用 -1

引言作为 Java Web 应用的典型框架,Struts 一直受到 Java 开发者的青睐,Struts 2 作为 Struts 发展的又一个里程碑,以 WebWork 为基础,提供了更易于使用,功能更强的 MVC 框架。同时它可以帮助开发人员更快速、高效、方便地实现一个 Java Web 应用系统。
对于开发人员来讲,不同的项目可能需要不同的开发和运行 Struts 2 的平台,Struts 2 需要以下环境:Servlet API 2.4, JSP API 2.0, Java 5。IBM WebSphere Application Server 6.1(以下简称 WAS 6.1) 符合 Sturts 2 对运行环境的所有要求。另外,IBM Rational Software Architect 7(以下简称 RSA)提供了设计、开发各种应用的工具,其中包括创建和开发 Web 应用。二者的组合将是开发 Struts 2 的理想平台。
基于 RSA 及 WAS 搭建 Struts 2 开发平台首先我们使用 RSA 创建一个动态 Web 项目,我们假设 RSA 中已经创建了一个 WAS 6.1 的服务器:
图 1. 在 RSA 中创建 WAS 6.1 运行环境在创建该项目的过程中,需要注意正确设置“目标运行时服务器”以及“动态 Web 模块 版本“, 如下图:
图 2. 设置动态 Web 项目其他按默认配置,点击”完成”。创建完项目后,项目的基本包结构会自动生成,为了使该 Web 项目使用 Struts 2 框架,我们需要做一下配置:
配置 Struts 2 类库本示例使用 Struts 2.1.6 版本 , 所使用的类库可以从 下载,如下图,拷贝相应 jar 包到 Sample/WebContent/WEB-INF/lib 下。注意,本示例只拷贝了一些基本 jar 包,对于需要使用到 Struts 2 复杂功能的应用,需要另外拷贝相应 jar 包。
图 3. 设置 Struts 2 依赖的 Jar 包()配置 web.xml为了让所有 web 请求通过 struts 2 框架处理,我们需要在 web.xml 中设置相应的 filter 以及 filter mapping, 对于 struts 2.1.6, 应设置成如下图高亮部分:
图 4. 在 web.xml 中设置 filter 和 filter mapping()对于 Struts 2 早期版本(2.1.3 之前),一般设置 filter 为 FilterDispatcher,具体如下:
1
2
3
4
5
6
7
8
<filter>
    <filter-name>struts2</filter-name>                 
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>




Stuts 2 的 taglib 已经自动包含在 struts-core.jar, 服务器会自动找到相应 taglib,所以 web.xml 中不再需要设置 taglib。
配置 Web 容器当在 WAS 6.1 上运行 struts 2 应用程序时,需要另外设置 web 容器的一个定制属性:
com.ibm.ws.webcontainer.invokefilterscompatibility=true, 否则,所有 Struts 2 Action 不起作用。该设置可以在 WAS 控制台上设置如下:
图 5. 设置 Web 容器()以上步骤完成了开发 struts 2 应用的准备工作,下面我们开发一个示例。
返回列表