Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。
今天,带着大家写出“hello world”程序,快速入门,后期再讲一些其他的知识点。
1、去 http://struts.apache.org/download.cgi#struts231下载 struts-2.3.1-all.zip 并解压,然后启动 MyEclipse。
2、创建一个名为 www.lingdus.com 的 Java web 项目。
3、用 WinRar 解压 struts-2.2.3\apps\struts2-blank.war 文件,把 struts-2.2.3\apps\struts2-blank\WEB-INF\lib 内的所有文件都复制粘贴到刚创建的 Java web 项目中的 lib 文件夹下。

4、在 lib 目录的同目录有一个 web.xml,在 <web-app> 内添加以下内容
<filter>
<filter-name>www_scbdqn_com</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>www_scbdqn_com</filter-name>
<!-- 表示拦截所有请求 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
5、在 src 目录下创建一个 struts.xml 并且输入以下内容
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这句话最好copy,以免出错 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<!-- name值随意写,extends必须这样写 -->
<package name="www_lingdus_com" extends="struts-default">
<!-- 前台的test.action与这个name是对应的,后面的意思是还行XX类下的XX方法 -->
<action name="test" method="execute"
class="com.lingdus.com.struts.Test">
<!-- 执行上面的方法后返回什么样的结果(可以自定义),进行转跳 -->
<result name="success">test.jsp</result>
</action>
</package>
</struts>
6、在 src下创建包 com.lingdus.com.struts,并在 struts 下创建一个 继承自 ActionSupport 的 Test.java 类,这个类重写 execute() 方法,方法的内部什么也不做。
7、在 index.jsp 中的 body 区域添加 <a href="test.action">立即请求</a>,接着添加一个 test.jsp 页面,在 body 区域添加 hello world 内容。
8、启动 Tomcat,在浏览器地址栏里输入 http://localhost:8080/www.lingdus.com/index.jsp 进行访问。点击 “立即请求” 后仔细观察浏览器地址栏,有什么疑问吗?
