功能:本實(shí)例實(shí)現(xiàn)的功能是從輸入界面輸入用戶(hù)名和密碼,若用戶(hù)名和密碼正確轉(zhuǎn)到成功界面,否則轉(zhuǎn)到失敗界面。
實(shí)現(xiàn):
第一步:創(chuàng)建一個(gè)Web工程
在MyEclipse,通過(guò)菜單File->New->Web Project,在Project Name輸入工程名稱(chēng)Strut2Travel,點(diǎn)解確定完成創(chuàng)建一個(gè)工程。
簡(jiǎn)注:MyEclipse屬于一個(gè)IDE繼承開(kāi)發(fā)環(huán)境,可以快速的創(chuàng)建Web項(xiàng)目。讀者可以手工創(chuàng)建,只需滿(mǎn)足項(xiàng)目的文件結(jié)構(gòu)即可。其中WEB-INF文件夾必不可少。
第二步:導(dǎo)入Struts2的核心支持包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
簡(jiǎn)注:Struts2有大量的jar包,支持大量的功能,不同類(lèi)型的應(yīng)用可能需要不同的包支持。以上的5個(gè)包為Struts2的核心包,使用Struts2必須使用。
第三步:配置struts2轉(zhuǎn)發(fā)過(guò)濾器
編輯web.xml文件,添加以下內(nèi)容
<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>
簡(jiǎn)注:“/*”表示涉及本工程的所有瀏覽器端的請(qǐng)求都經(jīng)過(guò)struts2過(guò)濾器處理。
第四步:創(chuàng)建輸入頁(yè)面login.jsp、結(jié)果頁(yè)面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">
用戶(hù)名:<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">用戶(hù)或密碼錯(cuò)誤!</font>
</body>
</html>
簡(jiǎn)注:本實(shí)例是最簡(jiǎn)單的應(yīng)用,以上為純JSP文件,Struts2提供大量使用的標(biāo)簽,本書(shū)后面的實(shí)例會(huì)使用到。
第五步:創(chuàng)建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;
}
}
簡(jiǎn)注:默認(rèn)配置情況下執(zhí)行execute()方法,實(shí)際應(yīng)用中經(jīng)常更改配置。本書(shū)后面將深入講解。注意本類(lèi)中的username和userpass必須和網(wǎng)頁(yè)文件的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>
第五步:將程序發(fā)布到Tomcat,啟動(dòng)Tomcat即可。
通過(guò)本實(shí)例讀者應(yīng)該掌握如何配置并編寫(xiě)一個(gè)最簡(jiǎn)單最基本的應(yīng)用,對(duì)于初學(xué)讀者以了解為主,沒(méi)必要深究一些問(wèn)題。