Struts2 配置步骤
1、解压struts-2.3.16.1-all.zip下载地址
apps:实例项目
docs:文档
lib:所需要的第三方支持
src:源码
2、进入apps,将struts2-blank.war放到tomcat的webapps下,解压(当然也可以把war包导入到eclipse里面,让eclispse来自行解压)
3、 创建一个web项目,将struts2-blank\WEB-INF\lib所有jar拷贝到项目的lib下面
4.在web.xml中加入struts2的过滤器
这些都可以在解压后的struts-blank中的web.xml拷贝过来
<span style="white-space:pre"> </span><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>
5.创建LoginForm.jsp页面,用于登录,提交loginname和password,请求提交到login.action
6. 开发LoginAction类,提供两个属性,对应jsp的loginname和password,在execute()方法中完成业务代码
7.配置struts.xml
文件头可以从解压后项目的struts.xml中拷过来
<?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>
然后在包下配置一下action,我是这样做的
<span style="white-space:pre"> </span><package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.gditc.action.LoginAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
注意一下,package是是要extends="struts-default",要不然就会报错!!!如果需要动态调用方法的话,还需要添加
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>,要不也是会报错的
重点掌握:
一、 Struts2的数据传递和接收。
-- 标量值接收数据,在Action类当中定义属性接收页面传递数据
--对象接收数据,在Action类当中定义对象接收页面传递数据,实际工作中更加常用
--对象接收数据,在Action类当中定义对象接收页面传递数据,实际工作中更加常用
二、动态方法调用:Dynamic MethodInvocation
第一种方式:配置一个Action,使用actionName!methodName区分
1.UserAction
2.建议在struts.xml里面开启动态方法调用
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
3.页面如果调用默认的execute方法:
action="user.action"
调用自定义方法:
action = "user!regitser.action"
调用自定义方法:
action = "user!regitser.action"
4.在UserAction 要提供regitser()方法,返回一个字符串
第二种方式:配置多个action;使用属性method区分调用方法类似Struts1里面的MappingdispatcherAction
1.UserAction
2.建议在struts.xml里面开启动态方法调用
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
3.配置Action
<action name="login" class="com.action.UserAction">
<action name="register" class="com.action.UserAction" method="regitser">
<action name="login" class="com.action.UserAction">
<action name="register" class="com.action.UserAction" method="regitser">
4.页面:
action="login.action"
action = "register.action";
action="login.action"
action = "register.action";