标签:
计应134(实验班) 张人川
一、Struts2的优点:
在软件设计上Struts2没有像Struts1那样和Servlet AP紧密的耦合。Strus2设计属于无侵入设计。
Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
Struts2提供了类型转换器,我们可以吧特殊的请求参数转换成需要的类型。
Struts2提供支持多种表现层技术,如JSP,freeMarker,Velocity
Struts2的输入校验可以对指定方法进行校验
提供了全局范围,包范围和Action范围的国际化资源文件实现
二、Struts2开发环境
找到Struts2应用需要的用到的jar文件
Struts2-core-2.x.x.jar
Xwork-2.x.x.jar
Ognl-2.6.x.jar
Freemarker-2.3.x.jar
Commons-logging-1.1.x..jar
Commons-fileupload.1.2.1.jar
编写Struts2的配置文件
在web.xml中加入Struts2框架的启动配置
三、第一Struts2应用
struts.xml
<struts>
<package name=”itcast” namespace=”/test” extends=struts-default”>
<action name=”helloworld” class=”cn.itcast.action.HelloWorldAction” method=”execute”>
<result name=”success”>/WEB-INF/page/hello.jsp</result>
</action>
</package>
</sruts>
HelloWorldAction
public class HelloWorldAction{
private String message;
public String getMessage(){
return message;
}
public String execute(){
message=”我的第一个struts应用”;
return “success”;
}
}
四、Action的搜索顺序(请求路径:http://server/struts2/path1/path2/path3/test.action)
首先寻找namespace为path1/path2/path3的package,如果不存在这个package则执行步骤2;如果存在,则在这个package种找名字为test的action,如果找不到test.action则取默认命名空间(不设置namespace或namespace=““)去找;
寻找path1/path2
寻找path1
寻找namespace为/的pachage,找不到去默认命名空间
五、Action配置中的各项默认值
如果没有为action指定class,默认是ActionSupport
如果没有为action指定method,默认是execute()方法
如果没有指定result的name属性,默认值为success
例:
直接跳转到一个视图
<action name=”addUI”>
<result>/WEB-IFO/page/employeeAdd.jsp</result>
</action>
浅谈Struts2
标签:
原文地址:http://www.cnblogs.com/qq347471280/p/4570196.html