1>.建工程,导jar包
2>.配置web.xml,配置struts过滤器
<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>
3>.编写Action类,写具体带返回值的方法
Action类有三种写法:
第一种:直接写普通的Java类,写返回值为字符串String
如果你不写public String execute(){} method="方法名"
第二种:写一个类去实现Action接口
第三种:写一个类去继承ActionSupport类
4>.编写核心配置文件, struts.xml
(1).首先在src目录下建一个struts.xml文件(注::名字只能是struts.xml不得随意更改)
(2).要想在struts.xml可以实现代码自动提示:则要拷贝struts-core-2.1.6.jar下的struts.2.1.dtd文档中的dtd规范
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
为了让dtd不去访问网站而造成卡死,window/preferences/XML CatalogàAddà
Location选中你本地的struts-2.1.dtd
key Type选择URI
key中插入http://struts.apache.org/dtds/struts-2.1.dtd
<struts>
<!--
Package节点:区分模块
name:包的标识
namespace:命名空间 若为缺省 默认为任意路径 则表示只要访问工程的路径最后是hello,都可以访问的到
extends="struts-default" 继承默认配置
action节点: 对应相应的Action请求
name:访问使用的URL
class:反射对应的Action类
method:具体指明Action类的那个方法,默认为execute();
result节点:针对Action方法字符串,实现跳转
name:默认为success
type:跳转的类型
-->
<package name="test" namespace="" extends="struts-default">
<action name="hello" class="com.struts2.action.HelloWorld" method="test">
<result name="success" type="">/hello.jsp</result>
</action>
</package>
</struts>
action节点中的方法调用的三种方法
第一种:直接配置method=””;
<package name="test" namespace="" extends="struts-default">
<action name="hello" class="com.struts2.action.HelloWorld" method="test">
<result name="success" type="">/hello.jsp</result>
</action>
</package>
第二种:动态方法调用
配置支持动态调用的参数:<constant name="struts.enable.DynamicMethodInvocation"
value="true"></constant>
【可以在default.properties文件中去找】
调用的时候:/Action名!method
<constant name="struts.enable.DynamicMethodInvocation"
value="true"></constant>
<package name="test" namespace="" extends="struts-default">
<action name="hello" class="com.struts2.action.HelloWorld" >…</action>
</package>
第三种:通配符
<!-- 用通配符 -->
<package name="login" namespace="/login" extends="struts-default">
<action name="*-*" class="com.struts2.action.{1}" method="{2}" >
<result name="success" >{1}-{2}.jsp</result>
</action>
</package>