创建一个web工程,搭建struts2.0开发环境
第一步:导入Struts 2.0类包文件
将以下包拷入web-inf---lib目录
commons-logging-1.0.4.jar
commons-fileupload-1.2.1.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
(struts2.1.6对文件上传功能的改进)
第二步:编辑Web应用的web.xml配置文件,配置Struts 2的核心Filter
在web.xml中添加核心控制器,相当于mvc中的过滤器
代码如下:
<?xml version="1.0" encoding="GBK"?>
<!-- web-app是Web应用配置文件的根元素,指定Web应用的Schema信息 -->
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.
com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 定义Struts 2的FilterDispatcher的Filter -->
<filter>
<filter-name>struts2</filter-name> <!-- 定义核心Filter的名字 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</ filter-class><!-- 定义核心Filter的实现类 -->
</filter>
<!-- FilterDispatcher用来初始化Struts 2并且处理所有的Web请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
需要配置的部分如下:
<!-- 定义Struts2的FilterDispathcer的Filter -->
<filter>
<filter-name>struts2</filter-name><!-- 命名Struts 2.0核心类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class><!-- 指定Struts 2.0核心类 -->
</filter>
<-- 配置核心类处理的请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern><!-- 指定处理用户所有请求 --><!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
</filter-mapping>
第三步:创建struts.xml文件
新建xml文件即struts2.0配置文件命名为struts.xml,此文件必须放在src根目录下
(☆☆☆注:一定要放在这个src包的根目录下☆☆☆)
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts2pak" extends="struts-default">
</package>
</struts>
代码详解:
根标签:<struts>
定义包<package name="" extends=""必须继承struts-default包></package>
</struts>
struts核心包 :xml-defaulst.xml xml的处理指令版本和编码格式
第四步:创建Action类,添加方法
方法代码如下:
public class testAction extends ActionSupport {
public String execute() throws Exception {
return "SUCCESS";
}
}
注意:要继承:com.opensymphony.xwork2.ActionSupport 类或者其他的类
第五步:在struts.xml文件中配置action
(相当于mvc中的servlet)
代码如下:
<action name="test" class="com.haitian.test.action.testAction">
<result name="abc">/MyJsp.jsp</result>
</action>
代码详解:
<action name=""为struts取名 class=""类路径>
<result name=""(是action中的action返回值)></result>是从action方法中取得返回值
</action>
</package>
</struts>
第六步: 测试:试着从浏览器访问action,如果说找不到项目就把tomcat中的common下的endorsed下的xml-apis.jar文件移除,重启tomcat即可。
测试地址:http://localhost:tomcat端口/工程名称/action名称,例如:http://localhost:8080/StrutsTestForZY/test