了解了Struts 2.x的历史,那么下面就来开始Struts 2.x开发之旅吧。在学习之前,确保开发环境为MyEclipse 6.0 + Tomcat 6.0.14。。(视频制作中,敬请期待。。。。。)

这样,就创建完成了一个Web项目。
2 配置Struts 2.x
Struts 2至少依赖以下5个Jar包,大家可以在Struts下载的"lib"文件下找到这些包:
* xwork-2.0.5.jar
* struts2-core-2.0.11.2.jar
* ognl-2.6.11.jar
* freemarker-2.3.8.jar
* commons-logging-1.0.4.jar
(1)将这些Jar包,复制到WebRoot/lib目录下,如图2.3

(2)配置 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">
<display-name>Struts Demo</display-name>

<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3 开发HelloWorldAction
下面编写一个简单的Struts的Action,体验一下Struts。
(1)新建Action类,该类必须继承com.opensymphony.xwork2.ActionSupport类,代码如下:
package com.fengmanfei.struts2;

import com.opensymphony.xwork2.ActionSupport;


public class HelloWorld extends ActionSupport
{

private static final long serialVersionUID = -1985594260887554430L;
private String message;

public String getMessage()
{
return message;
}

public void setMessage(String message)
{
this.message = message;
}
@Override

public String execute() throws Exception
{
return SUCCESS;
}
}
<?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>
<include file="struts-default.xml" />
<package name="helloworld" extends="struts-default">
<action name="HelloWorld" class="com.fengmanfei.struts2.HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
</package>
</struts>

<%
@ page contentType="text/html; charset=UTF-8" %>

<%
@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Struts2 Demo</title>
</head>
<body>

<h3>${message}</h3>
<s:form action="HelloWorld">
<s:textfield name="message"/>
<s:submit/>
</s:form>
</body>
</html>


这样,在浏览器中输入“http://localhost:8080/struts/HelloWorld.action”,在输入框中输入“Hello Strut2”,提交后,运行的界面如如2.6所示。

1 创建Web项目StrutsDemo
(1) 单击File->New->Web Project,新建一个MyEclipse的web应用项目,如图2.1。

(2)输入Web项目的名称“StrutsDemo”,及访问的url为“struts”,单击"Finish"。如图2.2

2 配置Struts 2.x
Struts 2至少依赖以下5个Jar包,大家可以在Struts下载的"lib"文件下找到这些包:
* xwork-2.0.5.jar
* struts2-core-2.0.11.2.jar
* ognl-2.6.11.jar
* freemarker-2.3.8.jar
* commons-logging-1.0.4.jar
(1)将这些Jar包,复制到WebRoot/lib目录下,如图2.3

(2)配置 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">
<display-name>Struts Demo</display-name>
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
这样,所有的请求都会经过Sturts2的过滤器org.apache.struts2.dispatcher.FilterDispatcher来处理。
3 开发HelloWorldAction
下面编写一个简单的Struts的Action,体验一下Struts。(1)新建Action类,该类必须继承com.opensymphony.xwork2.ActionSupport类,代码如下:
package com.fengmanfei.struts2;
import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport
{
private static final long serialVersionUID = -1985594260887554430L;
private String message;
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
@Override
public String execute() throws Exception
{
return SUCCESS;
}
}
(2)在src根目录下新建一个struts.xml的文件,这样部署后的web应用中,该文件就位于WEB-INF/classes/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>
<include file="struts-default.xml" />
<package name="helloworld" extends="struts-default">
<action name="HelloWorld" class="com.fengmanfei.struts2.HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
</package>
</struts>
(3)在WebRoot文件目录下创建HelloWorld.jsp文件,该页面的代码如下:

<%
@ page contentType="text/html; charset=UTF-8" %>
<%
@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Struts2 Demo</title>
</head>
<body>
<h3>${message}</h3>
<s:form action="HelloWorld">
<s:textfield name="message"/>
<s:submit/>
</s:form>
</body>
</html>
这样,经过以上步骤后,StrutsDemo项目的目录结构如图2.4所示。

4 部署与运行
将web应用部署到Tomcat下,步骤如图2.5所示。
这样,在浏览器中输入“http://localhost:8080/struts/HelloWorld.action”,在输入框中输入“Hello Strut2”,提交后,运行的界面如如2.6所示。

一个简单的 Struts 2的Action就开发完成了。
本文介绍如何使用Struts2.x搭建一个简单的Web应用程序,包括环境配置、创建项目、编写Action类及部署运行等步骤。





