strust2 介绍
strust2j是由传统的strust1和webwork两个经典的MVC框架发展起来的。它相比strust1,允许使用普通的传统java对象作为action,action的execute()方法不再与servlet api耦合,因而更易测试,支持更多的视图技术,基于AOP(
AOP是“面向切面编程”
)思想的拦截器机制,很好扩展。更强大的输入校验功能;整合的Ajax支持。
MVC设计模式是项目中最重要也最常用的模式,就像编程中的面向对象思想一样。这里不再赘述。
用eclipse新建一个maven-webapp项目
然后在web.xml中添加过滤器,拦截所有请求。
<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>
增加一个登录处理
把index.jsp更改如下
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%><html>
<body>
<h2>Hello World!</h2>
<s:form action="login">
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit/>
</s:form>
</body>
</html>
新建java文件夹的包
添加Loginaction
package com.test.action;
public class LoginAction {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() {
return "SUCCESS";
}
}
在struts.xml里添加响应结果处理
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="login" namespace="/" extends="struts-default">
<action name="login" class="com.test.action.LoginAction">
<result>index.jsp</result>
</action>
</package>
</struts>
然后最重要的一点
在改完之后,记得要重启tomcat才能生效,因为这个问题浪费了我很长时间。