1.创建web工程。
2.引人struct2所需要的jar包
struts2-core-2.1.8.1.jar :Struts 2框架的核心类库
xwork-core-2.1.6.jar :XWork类库,Struts 2在其上构建
ognl-2.7.3.jar :对象图导航语言(Object Graph Navigation Language),
struts2框架通过其读写对象的属性
freemarker-2.3.15.jar :Struts 2的UI标签的模板使用FreeMarker编写
commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志
包来支持Log4J和JDK 1.4+的日志记录。
commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后需要加入此文件
commons-io-1.3.2.jar,上传文件依赖的jar包
3.创建jsp页面
<a href="${pageContext.request.contextPath}/primer/helloWorldAction.action">
helloWorld</a><br>
4.创建HelloWorldAction
/* 在Struct中所以的action都要实现Action接口*/
public class HelloWorldAction implements Action
{
public String execute() throws Exception
{
System.out.println("HelloWorldAction execute");
return "success";
}
}
5.配置struct.xml文件
* 在src下创建struct.xml文件
*该文件的DTD规范在struts2-core-2.1.8.1.jar/struts-2.1.7.dtd文件中。
*配置该xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<!-- 请求路径/primer/helloWorldAction.action -->
<!--
package:包(给java中的包类似),规范管理
* name:包的名称:唯一,主要作用用于继承
* namespace:命名空间 唯一,相当于房间号
* extends="struts-default":继承
* 在struts2-core-2.1.8.1.jar/struts-default.xml文件存在如下的包
底层代码<package name="struts-default" abstract="true">
* 为什么要继承struts-default包呢,后面在将?
-->
<package name="primer" namespace="/primer" extends="struts-default">
<!--
action:配置action的
* name:客户端请求访问的action的唯一名称(在包中唯一)
* class:要访问的action的完整类路径
-->
<action name="helloWorldAction" class="cn.itcast.primer.HelloWorldAction">
<!--
result:处理action中execute()方法的返回值
* name:该属性的值要和execute()方法的返回值对应
* result标签的文本内容是要转向的路径
public String execute() throws Exception {
System.out.println("HelloWorldAction execute");
return "success";
}
-->
<result name="success">/primer/success.jsp</result>
<result name="error">/primer/error.jsp</result>
</action>
</package>
</struts>
6.配置struct的过滤器,解析Struct.xml文件
<filter>
<filter-name>StrutsPrepareAndExecuteFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>StrutsPrepareAndExecuteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
7. 测试,在地址栏输入如下路径
http://localhost:808/itcast0706struts2/primer/test.jsp