http://blog.csdn.net/hntyzgn2010/article/details/5547753
功能:本实例实现的功能是从输入界面输入用户名和密码,若用户名和密码正确转到成功界面,否则转到失败界面。
实现:
第一步:创建一个Web工程
在MyEclipse,通过菜单File->New->Web Project,在Project Name输入工程名称Strut2Travel,点解确定完成创建一个工程。
简注:MyEclipse属于一个IDE继承开发环境,可以快速的创建Web项目。读者可以手工创建,只需满足项目的文件结构即可。其中WEB-INF文件夹必不可少。
第二步:导入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
简注:Struts2有大量的jar包,支持大量的功能,不同类型的应用可能需要不同的包支持。以上的5个包为Struts2的核心包,使用Struts2必须使用。
第三步:配置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过滤器处理。
第四步:创建输入页面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即可。
通过本实例读者应该掌握如何配置并编写一个最简单最基本的应用,对于初学读者以了解为主,没必要深究一些问题。