This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • 如何建立一个Struts 2 Web程序

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

这个教程旨在教大家如何如何安装框架和创建一个简单的程序

(warning)  

Struts 2框架用起来很简单,这个教程假设你已经掌握如下J2EE技术:

  • Java
  • Filters, JSP, and Tag Libraries
  • JavaBeans
  • HTML and HTTP
  • Web Containers (such as Tomcat)
  • XML

Java需求

Struts 2 需要Servlet API 2.4或更高,JSP 2.0或更高和Java 5或更高

我们的第一个程序

为了开始使用Struts 2 我们将用ant建立一个web 应用程序,然后我们将用Maven建立同样的一个程序。

你可以从Google Code - http://code.google.com/p/struts2-examples/downloads/list下载所有的例子。

在下面选择一个你熟悉的技术(Ant或Maven)

Ant

你可以下载这个完整的例子,Basic_Struts_Ant下载地址上面已经说了。下载完了后解压缩,得到 Basic_Struts2_Ant这个目录,里面有Readme.txt它介绍了如何建立和运行这个程序。

为了建立这个程序你需要下载Struts 2并将其jar包加入到你的Classpath。下载入口Struts 2

Step 1 - 创建一个基本的Web程序

在你的java IDE 里面创建一个Web application project命名为Basic_Struts2_Ant,下面是截图

Step 2 - 添加一个index.jsp

添加一个简单的index.jsp页面,他的title是Basic Struts 2 Application - Welcome,他的内容是Welcome to Struts 2!
然后在eclipse中运行该项目

Step 3 - 添加Struts 2的jar文件到Class Path

我们添加Struts 2最小需求的jar包。我们将把这些jar包拷贝到WEB-INF\lib这个文件夹中。

找到并拷贝这些文件

  1. asm-x.x.jar
  2. asm-commons-x.x.jar
  3. asm-tree-x.x.jar
  4. commons-fileupload-X.X.X.jar
  5. commons-io-X.X.X.jar
  6. commons-lang3-X.X.X.jar
  7. commons-fileupload-X.X.X.jar
  8. freemarker-X.X.X.jar
  9. javassist-X.X.X.jar
  10. ognl-X.X.X.jar
  11. struts2-core-X.X.X.X.jar
  12. xwork-core-X.X.X.jar

从上面的文件你可能看出Struts 2的核心jar包依赖一些其他的jar包。当我们在接下来的教程中需要添加额外的Struts 2功能时,我们将需要添加额外的Struts 2jar包和和其他的依赖jar包。 

Step 4 - 添加日志系统

这个例子程序我们用log4j,你要去下载log4j的jar包并且拷贝到WEB-INF/lib中。下载log4j

配置log4j.xml在src文件夹中。你可以从下载的例子中拷贝一份。它包含如下内容<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
</layout>
</appender>

<!-- specify the logging level for loggers from other libraries -->
<logger name="com.opensymphony">
<level value="DEBUG" />
</logger>

<logger name="org.apache.struts2">
<level value="DEBUG" />
</logger>

<!-- for all other loggers log only debug and above log messages -->
<root>
<priority value="INFO"/>
<appender-ref ref="STDOUT" />
</root>

</log4j:configuration>

Step 5 - 添加Struts 2 Servlet Filter

为了要Struts 2 框架在你的web应用中工作,你需要在web.xml文件中添加Servlet Filter类和Filter mappingr。下面是你要添加的内容。
<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>

Step 6 - 创建struts.xml文件

Struts 2 可以用XML配置文件或者注解。我们用XML配置文件,注意文件名称为struts.xml并且要放在src目录下面(struts.xml文件必须在web程序class path的根下面)
<?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>

<constant name="struts.devMode" value="true" />

<package name="basicstruts2" extends="struts-default">

<action name="index">
<result>/index.jsp</result>
</action>

</package>

</struts>
这个配置文件告诉框架,如果URL以index.action结尾,这个请求将被转发到index.jsp。
更多关于struts.xml配置信息前往这里

Step 7 - 构建和运行程序

在eclispe中运行项目(记得重启tomcat),浏览http://localhost:8080/Basic_Struts2_Ant/index.action
在eclipse的控制台将看到有日志信息输出。

Maven

至于Maven,它和Ant大同小异,这里就不翻译了。

Create Struts 2 Web Application Using Maven To Manage Artifacts and To Build The Application