功能:本實例實現的功能是從輸入界面輸入用戶名和密碼,若用戶名和密碼正確轉到成功界面,不然轉到失敗界面。html
實現:
第一步:建立一個Web工程
在MyEclipse,經過菜單File->New->Web Project,在Project Name輸入工程名稱Strut2Travel,點解肯定完成建立一個工程。
簡注:MyEclipse屬於一個IDE繼承開發環境,能夠快速的建立Web項目。讀者能夠手工建立,只需知足項目的文件結構便可。其中WEB-INF文件夾必不可少。java
第二步:導入Struts2的核心支持包
commons-fileupload-1.2.1.jarweb
commons-io-1.3.2.jarapache
commons-logging-1.0.4.jar瀏覽器
freemarker-2.3.15.jarapp
ognl-2.7.3.jarjsp
struts2-core-2.1.8.1.jaride
xwork-core-2.1.6.jar
簡注:Struts2有大量的jar包,支持大量的功能,不一樣類型的應用可能須要不一樣的包支持。以上的5個包爲Struts2的核心包,使用Struts2必須使用。this
第三步:配置struts2轉發過濾器
編輯web.xml文件,添加如下內容
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
簡注:「/*」表示涉及本工程的全部瀏覽器端的請求都通過struts2過濾器處理。url
第四步:建立輸入頁面login.jsp、結果頁面welcome.jsp和error.jsp
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>登陸界面</title></head>
<body>
<form action="LoginAction.action">
用戶名:<input name="username"><br>
密 碼:<input type="password" name="userpass"><br>
<input type="submit" value="提 交">
<input type="reset" value="取 消">
</form>
</body>
</html>
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>歡迎</title>
</head>
<body>
<font color="red" size="10">登陸成功!</font>
</body>
</html>
error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<font color="red" size="10">用戶或密碼錯誤!</font>
</body>
</html>
簡注:本實例是最簡單的應用,以上爲純JSP文件,Struts2提供大量使用的標籤,本書後面的實例會使用到。
第五步:建立Action文件LoginAction和struts2.xml文件
LoginAction.java
package com;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private String username;
private String userpass;
public String execute(){
if("daniel".equals(username)&&"abcde".equals(userpass))
return SUCCESS;
else
return ERROR;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass = userpass;
}
}
簡注:默認配置狀況下執行execute()方法,實際應用中常常更改配置。本書後面將深刻講解。注意本類中的username和userpass必須和網頁文件的name屬性名一致。
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2demo" extends="struts-default">
<action name="loginAction" class="com.LoginAction">
<result name="success">/welcome.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
第五步:將程序發佈到Tomcat,啓動Tomcat便可。 經過本實例讀者應該掌握如何配置並編寫一個最簡單最基本的應用,對於初學讀者以瞭解爲主,不必深究一些問題。