一、Struts2的获得
Struts2的官网是http://struts.apache.org/,需要的同学可以自己去官网上下载。
二、Struts2的配置
以动态web项目为例,讲解配置Struts2,工具为Eclipse、Tomcat、MySQL。
首先,在Eclipse中创建一个动态web项目;
第二,将下载的Struts2的相关jar包复制到WebContent/WEB-INF/lib下;
第三,配置web.xml;
1.在web.xml中添加Struts2,即在<web-app>和</web-app>中间添加如下代码:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.在src目录下创建struts.xml文件,并在<struts>和</struts>中间添加如下代码:
<package name="uploadName" extends="struts-default">
<action name="upload" class="com.zhaolan.heart.UpLoad">
<result name="error">/error.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
这里要注意,<action>中的name属性值一定要与页面form的action的值名称一样,class的值是调用的action的类详细位置(包括包)。子标签<result>表示action类执行之后跳转到的页面,action类的返回结果要与<result>的name属性值相同,跳转页面要注意路径。
三、Struts2拦截器
拦截器是动态拦截Action调用的对象。
拦截器链是指能够将拦截器按一定的顺序联结成一条链。
其实,以我的理解拦截器就是一个特殊的类,体现切面编程的思想。与一般类不同的是拦截器要在xml文件里配置。接下来就让我们看看拦截器的定义格式。
先假设拦截器定义在struts-default.xml,在struts.xml里引用struts-default.xml,代码为<include file="struts-default.xml的完全路径" />
拦截器的定义格式:
<interceptor name="拦截器名" class="拦截器实现类" />
如果需要用拦截器传回参数,则格式如下:
<interceptor name="拦截器名" class="拦截器实现类" >
<param name="参数名">参数值</param>
</interceptor>
配置拦截器栈的代码:
<interceptor-stack name="拦截器栈名">
<interceptor-ref name="拦截器名" />
………………
</interceptor-stack>
另外需要注意的是自定义拦截器时,都要直接或间接的实现接口com.opensymphony.xwork2.interceptor.Interceptor
以上是struts2中的一些基础知识,下一篇将以一个简单的实际项目来说明struts2的使用。