天天看点

Struts2框架学习之一:Hello World程序

前言

struts2框架apache基金组织下的一个开源框架,基于mvc模式设计的web应用开发框架。struts 2是一个用于开发java ee网络应用程序的开源web应用框架,它利用并扩展了java servlet api,鼓励开发者采用mvc架构。目前struts2的最高版本是2.5(测试版)。

快速入门

1、下载和安装

可以从官网直接下载最新的struts开发包,官网有多个版本,使用的时候下载full版本即可。下载之后,只需要进行解压就可以使用了

2、hello world程序

以下是建立struts2的helloworld程序的详细步骤:

在myeclipse中创建web project

从下载的struts解压文件中导入jar包

说明:这里的jar包为了简洁,建议直接从app目录下的struts2_blank.war中的lib目录下的jar包拷贝过来。这样做的原因是比较省事,自己找jar包太麻烦。

其jar如下:

Struts2框架学习之一:Hello World程序

编写web.xml,添加如下配置:

编写action类文件。在src目录下创建helloworld.java文件,如下:

配置structs.xml

编写jsp页面

启动服务器,在浏览器中就可以看到hello world了。至此,hello world程序建立成功。

struts2项目开发小结

struts2的开发步骤主要分为:

准备jar包,建议直接使用struts-blank.war项目中的jar包,这是该版本最精简的jar包了

在web.xml中添加struts2过滤器的相关配置(这个步骤在整个项目开发过程中只会编写一次)

开发action,针对不同的功能开发不同的action。就像在servlet中开发不同的servlet类似

在struts.xml配置文件中添加上一步骤开发的action的相关配置

编写相关的结果页面

struts2表单处理

我们继续在现在的项目基础上创建一个表单,用以说明struts2中如何接受和设置参数。

创建login.jsp页面如下:

创建loginaction

配置action

创建user类

编写success.jsp和error.jsp文件

success.jsp(省略部分代码)

error.jsp(省略部分代码)

注意在表单name属性的书写格式:<code>user.username</code>。但是我们在loginaction中并未使用任何初始化的方法构造user对象,那么值是怎么传递过来的呢?在struts2中使用了自动绑定的机制,当loginaction中获取<code>user.username</code>属性的时候,实际上会执行以下过程:

除了以上的方式,还可以使用action属性获取jsp页面表单的值,就是form表单的属性写在action中,然后添加set和get方法,同样可以获取。不过个人感觉这种方式没有上一种简洁,所以就不贴代码了。

struts2访问request、session和application对象

在struts2中有多种方式可以访问以上三个对象,但可以分为两类:与servlet api解耦的访问方式(也是个人推荐使用的方式,一目了然,简单清晰)和与servlet api耦合的访问方式。下面介绍与servlet api解耦的方式。

通过访问com.opensymphony.xwork2.actioncontext类可获取以上三个对象,方式如下:

然后在success.jsp页面访问以上对象设置的值: