1.struts中加入spring的好处:
spring依赖注入;事务
2.struts2比Struts1多个拦截器
action写法,属性用来封装(就不用request来取值了)
;传值(ValueStack);struts2标签比较简洁;
validate;
3.struts2的入门例子,还是HelloWorld
4.struts2入门知识
struts.apache.org/download.cgi#Struts206
下载Struts2完整版,里面包括示例应用,核心库,全部源代码,相关文
档。
增加Struts2功能,三个步骤:web.xml,lib,struts.xml
web.xml (配置Struts2的核心Filter)
<!-- 定义Struts2的FilterDispathcer的Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-
class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请
求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
login.jsp
<%@ page language="java" contentType="text/html;
charset=GBK"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="Login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密 码:<input type="text"
name="password"/></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登
录"/><input type="reset" value="重填" /></td>
</tr>
</table>
</form>
</body>
</html>
当表单提交给login.action时,Struts2的FilterDispatcher将自动起作用,
将用户请求转发到对应的Struts2 Action
Struts2的Action只是一个包含execute方法的普通Java类。
package lee;
public class LoginAction
{
private String username;
private String password;
public String execute() throws Exception
{
if (getUsername().equals("scott")
&& getPassword().equals("tiger") )
{
return "success";
}
else
{
return "error";
}
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getUsername()
{
return username;
}
public void setUsername(String username){
this.username = username;
}
}
struts.xml
<struts>
<package name="lee" extends="struts-default">
<action name="Login" class="lee.LoginAction">
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
<action name="GetBooks" class="lee.GetBooksAction">
<result name="login">/login.jsp</result>
<result name="success">/showBook.jsp</result>
</action>
</package>
</struts>
HelloWorld应用的处理流程:
login.jsp 发送请求 web.xml(FilterDispathcher), struts.xml 转发请求
Action 返回。welcome.jsp/error.jsp