开发环境:eclipse-jee-indigo-SR2-win32
apache-tomcat-6.0.44
jdk1.7.0_07
配置环境变量:
JAVA_HOME: C:\Program Files\Java\jdk1.7.0_07 (解释:将jdk 的根目录配置到 JAVA_HOME 中)
path: 在path 中添加 C:\Program Files\Java\jdk1.7.0_07\bin (解释:将 jdk 下面的 bin 目录配置到 path 中)
CLASSPATH: .;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;D:\apache-tomcat-6.0.44\lib\jsp-api.jar;D:\apache-tomcat-6.0.44\lib\servlet-api.jar (解释:将jdk 的 lib 目录下面的 tools.jar 和 dt.jar 以及 tomcat 的 lib 目录下面的 jsp-api.jar 和 servlet-api.jar 配置到CLASSPATH 中)
正文:1.在eclipse-jee-indigo-SR2-win32 中配置 apache-tomcat-6.0.44。
点击后,如下图:
点击后,如下图:
点击 add... 后,如下图:
点击后,如下图:
以上是步骤截图,下面是代码:
LoginAction.java
package com.wang.action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/*
* 这里定义了Struts2 的Action,但这个Action 还没有配置在Web应用中,还不能处理用户
* 请求。为了让这个Action 能处理用户请求,还需要将这个Action 配置在struts.xml文件中。
*/
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void validate() {
if ( (getUsername().trim().equals("")) || (getUsername() == null)) {
addFieldError("username", "user.required");
}
if ( (getPassword().trim().equals("")) || (getPassword() == null)) {
addFieldError("password", "pass.required");
}
}
public String execute() throws Exception {
if (getUsername().equals("wts") && getPassword().equals("111") ) {
ActionContext.getContext().getSession().put("user", username);
return SUCCESS;
}else {
return ERROR;
}
}
}
struts.xml 文件代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="strutsAction" extends="struts-default">
<action name="login" class="com.wang.action.LoginAction">
<result name="input">/WEB-INF/content/loginForm.jsp</result>
<result name="success">/WEB-INF/content/success.jsp</result>
<result name="error">/WEB-INF/content/error.jsp</result>
</action>
</package>
</struts>
web.xml 文件代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>struts2_2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>
loginForm.jsp 页面代码:
<%@page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GBK" />
<title>重新输入页面</title>
</head>
<body>
<s:form action="login">
<s:textfield name="username" label="用户名" />
<s:textfield name="password" label="密码" />
<s:submit value="登录" />
</s:form>
</body>
</html>
然后自己再新建两个页面,一个success.jsp 和 error.jsp 。
到此,一个Struts2.x 的HelloWorld 级别的项目就完成了。