Struts 2下的helloword

2019-04-08 18:57

本章要点

— Struts 2的下载和安装 — 纯手工创建一个Web应用 — 纯手工创建一个Struts 2应用 — 实现Struts 2的Action — 配置Struts 2的Action — 在Action中访问HttpSession — 在JSP中输出Action的返回值 — 使用Struts 2的表单标签 — 程序国际化初步 — 数据校验初步

前面已经简要介绍了Struts 2的起源,以及Struts 2的两个前身:Struts 1和WebWork,并详细对比了Struts 2和Struts 1的差异,对比了Struts 2和WebWork的差异,而且指出:Struts 2是WebWork的升级,而不是Struts 1的升级。

虽然Struts 2提供了与Struts 1的兼容,但已经不是Struts 1的升级。对于已有Struts 1开发经验的开发者而言,Struts 1的开发经验对于Struts 2并没有太大的帮助;相反,对于已经有WebWork开发经验的开发者而言,WebWork的开发经验对Struts 2的开发将有很好的借鉴意义。

下面将以一个Struts 2的HelloWorld应用为例,介绍Strust 2 MVC框架如何拦截用户请求,如何调用业务控制器处理用户请求,并介绍Action处理结果和资源之间的映射关系。

本HelloWorld应用是一个简单的应用:用户进入一个登录页面,允许用户输入用户名、密码,如果用户输入的用户名和密码符合要求,则进入一个欢迎页面;如果用户输入错误,则进入一个提示页面。当用户提交表单时,本应用会有基本的数据校验。

2.1 下载和安装Struts 2框架

下面我们从下载、安装Struts 2开始,慢慢开始体验Struts 2 MVC框架的魅力。 笔者写本书的时候,Struts 2已经发布了其产品化GA(General Availability)版,其实最新的产品化GA版是Struts 2.06,故本书的所有应用都是基于该版本的Struts 2。建议读者下载Struts 2.06版,而不是下载最新的Beta版,如果Struts 2有最新的GA版,读者也可以下载更新的GA版,相信不会有太大差异。 下载和安装DWR请按如下步骤进行。 登录http://struts.apache.org/download.cgi#Struts206站点,下载Struts 2的最新GA版。在Struts 2.06下有如下几个选项: — Full Distribution:下载Struts 2的完整版。通常建议下载该选项。 — Example Applications:下载Struts 2的示例应用,这些示例应用对于学习Struts 2有很大的帮助,下载Struts 2的完整版时已经包含了该选项下全部应用。 — Blank Application only:仅下载Struts 2的空示例应用,这个空应用已经包含在Example Applications选项下。 — Essential Dependencies:仅仅下载Struts 2的核心库,下载Struts 2的完整版时将包括该选项下的全部内容。 — Documentation:仅仅下载Struts 2的相关文档,包含Struts 2的使用文档、参考手册和API文档等。下载Struts 2的完整版时将包括该选项下的全部内容。 — Source:下载Struts 2的全部源代码,下载Struts 2的完整版时将包括该选项下的全部内容。 — Alternative Java 4 JARs:下载可选的JDK 1.4的支持JAR。下载Struts 2的完整版时将包括该选项下的全部内容。 通常建议读者下载第一个选项:下载Struts 2的完整版,将下载到的Zip文件解压缩,该文件就是一个典型的Web结构,该文件夹包含如下文件结构: — apps:该文件夹下包含了基于Struts 2的示例应用,这些示例应用对于学习者是非常有用的资料。 — docs:该文件夹下包含了Struts 2的相关文档,包括Struts 2的快速入门、Struts 2的文档,以及API文档等内容。 — j4:该文件夹下包含了让Struts 2支持JDK 1.4的JAR文件。 — lib:该文件夹下包含了Struts 2框架的核心类库,以及Struts 2的第三方插件类库。 — src:该文件夹下包含了Struts 2框架的全部源代码。 将lib文件夹下的Struts2-core-2.0.6.jar、xwork-2.0.1.jar和ognl-2.6.11.jar等必需类库复制到Web应用的WEB-INF/lib路径下。当然,如果你的Web应用需要使用Struts 2的更多特性,则需要将更多的JAR文件复制到Web应用的WEB-INF/lib路径下。如果需要在DOS或者Shell窗口下手动编译Struts 2相关的程序,则还应该将Struts2-core-2.0.6.jar和xwork-2.0.1.jar添加到系统的CLASSPATH环境变量里。

提示 大部分时候,使用Struts 2的Web应用并不需要利用到Struts 2的全部特性,因此没有必要一次将该lib路径下JAR文件全部复制到Web应用的WEB-INF/lib路径下。 编辑Web应用的web.xml配置文件,配置Struts 2的核心Filter。下面是增加了Struts 2的核心Filter配置的web.xml配置文件的代码:

xsi:schemaLocation=\

com/xml/ns/j2ee/web-app_2_4.xsd\>

struts2

org.apache.Struts2.dispatcher.FilterDispatcher

Struts2 /*

经过上面3个步骤,我们已经可以在一个Web应用中使用Struts 2的基本功能了,下面将带领读者进入Struts 2 MVC框架的世界。

2.2 从用户请求开始

Struts 2支持大部分视图技术,当然也支持最传统的JSP视图技术,本应用将使用最基本的视图技术:JSP技术。当用户需要登录本系统时,用户需要一个简单的表单提交页面,这个表单提交页面包含了两个表单域:用户名和密码。

下面是一个最简单的表单提交页面,该页面的表单内仅包含两个表单域,甚至没有任何动态内容,实际上,整个页面完全可以是一个静态HTML页面。但考虑到需要在该页面后面增加动态内容,因此依然将该页面以jsp为后缀保存。下面是用户请求登录的JSP页面代码:

<%@ page language=\contentType=\charset=GBK\

登录页面

正如前面介绍的,该页面没有包含任何的动态内容,完全是一个静态的HTML页面。但我们注意到该表单的action属性:login.action,这个action属性比较特殊,它不是一个普通的Servlet,也不是一个动态JSP页面。可能读者已经猜到了,当表单提交给login.action时,Struts 2的FilterDispatcher将自动起作用,将用户请求转发到对应的Struts 2 Action。 注意 Struts 2 Action默认拦截所有后缀为.action的请求。因此,如果我们需要将某个表单提交给Struts 2 Action处理,则应该将该表单的action属性设置为*.action的格式。 该页面就是一个基本的HTML页面,在浏览器中浏览该页面,看到如图2.1所示的界面。

整个页面就是一个标准的HTML页面,整个单独的页面还没有任何与用户交互的能力。下面我们开始动手创建一个Struts 2的Web应用。

2.3 创建Struts 2的Web应用

Struts 2的Web应用就是一个普通的Web应用,然后增加Struts 2功能,该应用就可以充分利用Struts 2的MVC框架了。

2.3.1 创建Web应用

笔者一直相信:要想成为一个优秀的程序员,应该从基本功练起,所有的代码都应该用简单的文本编辑器(包括EditPlus、UtraEdit等工具)完成。笔者


Struts 2下的helloword.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:班级操行量化评分细则1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: