Struts2
Struts2是在WebWork2基础上发展而来的。同Struts1一样,也是一个MVC框架。他们名字差别不大,但是编码风格几乎是不一样的
Struts2相关jar包下载地址http://struts.apache.org/download.cgi#struts2014 ,下载struts-2.x.x-all.zip,目前最新版2.3.16
添加struts2核心支持
----------------------------------------------------------------------------------------------------------------------
创建控制器类实现Action接口
import com.opensymphony.xwork2.Action;
public class LoginAction implements Action {
public String execute() throws Exception {
System.out.println("successTest");
return SUCCESS;
}
}
web.xml当中的配置如下:
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>*.action</url-pattern>
</filter-mapping>
</web-app>
struts.xml当中的配置如下所示:
注意:
struts2读取到struts.xml的内容后 以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的
数据 而不是每次都读取struts.xml文件
<struts>
<!-- /primer/helloWorldAction.action
package:包
* name:包名,唯一的,必选项
* namespace:命名空间,唯一的,相当于房间号。可选项,省略情况下是"/"。页面中请求连接的前半部分
* extends:继承
* extends="struts-default":struts2框架底层提供的核心包struts2-core-2.3.3.jar下的struts-default.xml文件
* 为什么要继承这个struts-default.xml文件? 需要继承Struts2的拦截器
-->
<package name="loginTest" namespace="/" extends="struts-default">
<!--
action:
* name:对应页面中请求连接的后面半部分
* class:对应要执行的类的完整路径
-->
<action name="login" class="com.struts.action.LoginAction">
<!--
result:结果类型
* name:对应的是执行的类的方法的返回值
* 后半部分的文本内容:要转向到的页面
-->
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
|