開發步驟:
1.導入jar包,配置相關文件.
可以先配置web.xml文件,如下:
1
<?xml version="1.0" encoding="UTF-8"?>
2
<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">
3
<servlet>
4
<servlet-name>actionServlet</servlet-name>
5
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
6
<init-param>
7
<param-name>config</param-name>
8
<param-value>/WEB-INF/struts-config.xml</param-value>
9
</init-param>
10
<load-on-startup>0</load-on-startup>
11
</servlet>
12
<servlet-mapping>
13
<servlet-name>actionServlet</servlet-name>
14
<url-pattern>*.do</url-pattern>
15
</servlet-mapping>
16
</web-app>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

在WEB-INF下建立一個struts-config.xml文件,文件內容暫且如下:
1
<?xml version="1.0" encoding="gbk" ?>
2
3
<!DOCTYPE struts-config PUBLIC
4
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
5
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
6
<struts-config>
7
</struts-config>

2

3

4

5

6

7

2.書寫jsp頁面:login.jsp,success.jsp,error.jsp
login.jsp:
1
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
2
pageEncoding="ISO-8859-1"%>
3
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4
<html>
5
<head>
6
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7
<title>Insert title here</title>
8
</head>
9
<body>
10
<form action="login.do" method="post">
11
username:<input type="text" name="username" /> <br/>
12
password:<input type="password" name="password" /> <br/>
13
<input type="submit" value="submit"/>
14
</form>
15
</body>
16
</html>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

success.jsp:
1
<body>
2
<h1>login success !</h1>
3
<h2>username:${requestScope.username}</h2>
4
<h2>password:${requestScope.password}</h2>
5
</body>

2

3

4

5

error.jsp:
1
<body>
2
<h1><font color="red">login failed !</font></h1>
3
</body>

2

3

3.編寫一個ActionForm的類,用來暫存請求傳給服務端的數據。
1
package per.struts1.web;
2
import org.apache.struts.action.ActionForm;
3
public class LoginActionForm extends ActionForm {
4
private String username;
5
private String password;
6
public String getUsername() {
7
return username;
8
}
9
public void setUsername(String username) {
10
System.out.println(username);
11
this.username = username;
12
}
13
public String getPassword() {
14
return password;
15
}
16
public void setPassword(String password) {
17
System.out.println(password);
18
this.password = password;
19
}
20
}
21

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

4.編寫一個Action類,并覆蓋其execute()方法
1
package per.struts1.web;
2
import javax.servlet.http.HttpServletRequest;
3
import javax.servlet.http.HttpServletResponse;
4
import org.apache.struts.action.Action;
5
import org.apache.struts.action.ActionForm;
6
import org.apache.struts.action.ActionForward;
7
import org.apache.struts.action.ActionMapping;
8
public class LoginAction extends Action {
9
@Override
10
public ActionForward execute(ActionMapping mapping, ActionForm form,
11
HttpServletRequest request, HttpServletResponse response)
12
throws Exception {
13
LoginActionForm laf = (LoginActionForm)form;
14
String username = laf.getUsername();
15
String password = laf.getPassword();
16
System.out.println(username+":"+password);
17
if("jone".equals(username)&&"jone".equals(password)){
18
request.setAttribute("username", username);
19
request.setAttribute("password", password);
20
return mapping.findForward("success");
21
}else{
22
return mapping.findForward("error");
23
}
24
}
25
}
26

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

5.對ActionForm類及Action類在struts-config.xml文件中進行配置
1
<?xml version="1.0" encoding="gbk" ?>
2
<!DOCTYPE struts-config PUBLIC
3
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
4
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
5
<struts-config>
6
<form-beans>
7
<form-bean name="loginForm" type="per.struts1.web.LoginActionForm" >
8
<!-- 為暫存數據的ActionForm類進行配置,name是隨意取得,type為類的全限定名 -->
9
</form-bean>
10
</form-beans>
11
12
<action-mappings>
13
<action path="/login" type="per.struts1.web.LoginAction" name="loginForm" scope="request" >
14
<!-- 為Action類進行配置,-條action標簽對應一個ActionMapping類,path為訪問路徑,不含.do,
15
type為類的全限定名,name指的是上面已經配置的ActionForm的name值,
16
scope為所創建的ActionForm指明一個作用域。
17
-->
18
<forward name="success" path="/success.jsp"></forward>
19
<!-- forward標簽是用于頁面跳轉的,path即為跳轉路徑,而name起一個標識作用 -->
20
<forward name="error" path="/error.jsp"></forward>
21
</action>
22
</action-mappings>
23
</struts-config>
24

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

至此可以進行運行測試了。只有當username與password都為"jone"的時候,才會跳到success.jsp頁面。