struts2配置,struts2最新版本
老铁们,大家好,相信还有很多朋友对于struts2配置和struts2最新版本的相关问题不太懂,没关系,今天就由我来为大家分享分享struts2配置以及struts2最新版本的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
struts2 的struts.xml文件怎么配置
<!-- include节点是struts2中组件化的方式可以将每个功能模块独立到一个xml配置文件中然后用include节点引用-->
<include file="struts-default.xml"></include>
<!-- package提供了将多个Action组织为一个模块的方式
package的名字必须是唯一的 package可以扩展当一个package扩展自
另一个package时该package会在本身配置的基础上加入扩展的package
的配置父package必须在子package前配置
name:package名称
extends:继承的父package名称
abstract:设置package的属性为抽象的抽象的package不能定义action值true:false
namespace:定义package命名空间该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为
-->
<package name="com.kay.struts2" extends="struts-default" namespace="/test">
<interceptors>
<!--定义拦截器
name:拦截器名称
class:拦截器类路径
-->
<interceptor name="timer" class="com.kay.timer"></interceptor>
<interceptor name="logger" class="com.kay.logger"></interceptor>
<!--定义拦截器栈-->
<interceptor-stack name="mystack">
<interceptor-ref name="timer"></interceptor-ref>
<interceptor-ref name="logger"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!--定义默认的拦截器每个Action都会自动引用
如果Action中引用了其它的拦截器默认的拦截器将无效-->
<default-interceptor-ref name="mystack"></default-interceptor-ref>
<!--全局results配置-->
<global-results>
<result name="input">/error.jsp</result>
</global-results>
<!-- Action配置一个Action可以被多次映射(只要action配置中的name不同)
name:action名称
class:对应的类的路径
method:调用Action中的方法名
-->
<action name="hello" class="com.kay.struts2.Action.LoginAction">
<!--引用拦截器
name:拦截器名称或拦截器栈名称
-->
<interceptor-ref name="timer"></interceptor-ref>
<!--节点配置
name: result名称和Action中返回的值相同
type: result类型不写则选用superpackage的type struts-default.xml中的默认为dispatcher
-->
<result name="success" type="dispatcher">/talk.jsp</result>
<!--参数设置
name:对应Action中的get/set方法
-->
<param name="url">;
</action>
</package>
简述Struts2的配置文件包括哪些元素
1、package元素
package用来管理action:使用了面向对象的思想
属性:
name:用来定义包名,注意:同一个配置文件中包名是唯一的。
extends:指定所继承的包,一般情况下需要继承struts-default包
truts-default.xml中定义着struts-default这个包。
truts-default.xml是在我们的struts.xml加载之前加载。
abstract:指定包是抽象的,只能被继承,含有action的包不能是抽象的,默认值是false。
namespace:名称空间
名称空间+动作名称=访问路径
<package name="p1" extends="struts-default" namespace="/a/b"></package>
1
struts2查找动作的方法:
1:先按照用户输入的路径查找路径:/a/b/c/d/action1.action
如果没有找到再向上一层路径找:/a/b/c找到了(不会再继续向上找)该路径则执行第二步
再向上一层路径找:/a/b找到了(不会再继续向上找)该路径则执行第二步,找不到继续向上一级找
再向上一层路径找:/a没找到找到了(不会再继续向上找)该路径则执行第二步
再找/也没有的话去默认命名空间下找。
都没找到直接报错
2:找action:先在当前的命名空间下找,如果没有找到则取默认的命名空间(没有写namespace属性的)下找,如果还找不到报错
一般只要我们有默认命名空间的pakege标签时,第一步是不会报错的。
Eclipse怎样配置struts2
Eclipse和Tomcat的安装不再细说了,注意看一下Struts2项目的配置:
1、创建动态web项目
在Eclipse中选择File-New-Dynamic Web Project创建动态项目:
按下图创建名称为Struts2HelooWorld的项目,在Target runtime中选择Apache Tomcat v6.0并按提示选择Tomcat的安装根目录,单击“Finish”完成项目创建
2、添加Struts2库到项目
在解压的struts-2.3.16.3-all目录下的lib目录中复制需要的库,并在Struts2HelloWorld项目的WebContent/WEB-INF/lib上右键粘贴:
需要导入的库如下,每个库的说明请参加struts2的文档:
3、配置过滤器
在Struts2HelloWorld项目的WebContent/WEB-INF/web.xml中添加如下配置:
如下:
[html]view plaincopy
<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>
4、创建action按下图创建一个包:
在该包中增加一个HelloWorld类,实现xwork2的Action接口:
按如下内容编辑该类:
[html]view plaincopy
packagecom.mystruts.action;
importcom.opensymphony.xwork2.Action;
/**
*@authordavid
*
*/
publicclassHelloWorldimplementsAction{
privateStringmessage;
/**
*@returnthemessage
*/
publicStringgetMessage(){
returnmessage;
}
/*(non-Javadoc)
*@seecom.opensymphony.xwork2.Action#execute()
*/
@Override
publicStringexecute()throwsException{
//TODOAuto-generatedmethodstub
message="HelloWorld!";
returnSUCCESS;
}
}
5、添加jsp页面在添加jsp文件之前,首先我们修改一下eclipse的默认项目编码,否则中文会是乱码,修改方法如下:
选择eclipse的主菜单中的window-Preferences
JSP Files的编码选择UTF-8
然后添加HellowWorld.jsp文件:
按下文编辑HelloWorld.jsp文件:
[html]view plaincopy
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""">
<%@taglibprefix="s"uri="/struts-tags"%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>欢迎界面</title>
</head>
<body>
<h2><s:propertyvalue="message"/></h2>
</body>
</html>
6、添加struts.xml配置文件:
文件内容如下:
[html]view plaincopy
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"">
<struts>
<packagename="HelloWorld"extends="struts-default">
<actionname="HelloWorld"class="com.mystruts.action.HelloWorld">
<resultname="success">/HelloWorld.jsp</result>
</action>
</package>
</struts>
7、调试
在浏览器中输入:
结果如下:
关于struts2配置的内容到此结束,希望对大家有所帮助。