本文所采用的struts版本为struts-2.3.34
1、创建动态Web项目
2、配置web.xml
struts-2.3.34/apps文件夹下存在一个struts-blank.war文件,用解压工具打开,里面存在两个文件,将WEB-INF文件中web.xml复制到web项目下的WEB-INF文件夹下。
复制后将web.xml打开进行修改成如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
3、配置struts.xml
打开WEB-INF下的classed文件,将其中的struts.xml复制到web项目中的src文件夹下,并进行以下更改。
<?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="struts2qs" extends="struts-default">
<!-- 定义login的Action,该Action的实现类为
org.crazyit.struts2qs.action.LoginAction类 -->
<action name="login" class = "org.crazyit.struts2qs.action.LoginAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
4、编写JSP页面
4.1、编写登录页面loginForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="login" method="post">
<table>
<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>
4.2、编写欢迎页面welcome.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>成功页面</title>
</head>
<body>
欢迎,您已经登录!
</body>
</html>
4.3、编写错误页面error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>失败页面</title>
</head>
<body>
登录失败,请重新登录!
</body>
</html>
5、编写LoginAction.java类
在web项目的src文件下新建一个package org.crazyit.struts2qs.action,在其中新建一个LoginAction.java类,代码如下:
package org.crazyit.struts2qs.action;
//Struts2的action类就是一个普通的Java类
public class LoginAction {
//下面是用于封装用户请求参数的两个属性
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;
}
//处理用户请求的execute方法
public String execute() throws Exception{
//当用户请求参数的username等于baidu,密码请求参数为baidu时
//返回success字符串,否则返回error字符串
if(getUsername().equals("baidu")
&& getPassword().equals("baidu")) {
return "success";
}
else {
return "error";
}
}
}
6、web项目相关jar包
在struts-blank.war包下的WEB-INF下的lib文件下,将所有jar包复制到web项目中的WEB-INF/lib下,如图所示。
7、项目最终视图
8、配置Tomcat并启动