标签:
1、创建Java Web项目
2、引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下
- commons-logging-1.0.4.jar
*freemarker-2.3.15.jar
*ognl-2.7.3.jar
*struts2-core-2.1.8.1.jar- xwork-core-2.1.6.jar
*commons-fileupload-1.2.1.jar
3、在web.xml中为Struts2配置拦截器
(配置StrutsPrepareAndExecuteFilter或FilterDispatcher)
一个请求过来,它将会到达中央控制器,struts的中央控制器用了一个filter(StrutsPrepareAndExecuteFilter
),到达这里之后会决定这个请求最终会调用哪一个Action。 web.xml中,截取URL,跳转到Filter
<?xml version="1.0" encoding="UTF-8"?>
<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/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
</web-app>
4、提供struts2配置文件struts.xml,放到src下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
</struts>
5、建立JSP(login.jsp、login_success.jsp、login_error.jsp)
6、创建Struts2的Action
Struts2的action可以不用继承Struts2框架中的任何类
也不用实现Struts2框架中的任何接口,所以Struts2的Action可以是一个POJO(纯粹的Java对象)
所以Struts2的Action测试更容易
Struts2缺省方法名称:public String execute() throws Exception;
7、在Action中提供getter和setter方法,便于收集数据(这样收集数据的模式一般可以成为属性驱动模式)
8、将JSP和Action配置到struts.xml配置文件中
<struts>
<!--放在一个包里,对这个包统一管理。 package name随便取 -->
<!-- 需要继承struts-default包,这样就拥有的最基本的功能 -->
<package name="struts2" extends="struts-default">
<action name="login" class="com.bjpowernode.struts2.LoginAction" method="add">
<!--调用Action里的add方法,如果不写则默认是execute-->
<!--不写method,则为null,默认调用调用Action里的execute方法-->
<result name="success">/login_success.jsp</result>
<result name="error">/login_error.jsp</result>
</action>
</package>
</struts>
9、了解struts-default.xml配置文件,default.properties,Struts2的默认后缀为.action
标签:
原文地址:http://blog.csdn.net/m_future1993/article/details/51361365