开发步骤:
1.导入jar包,配置相关文件.
可以先配置web.xml文件,如下:
1
<?xmlversion="1.0"encoding="UTF-8"?>
2
<web-appxmlns: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/javaeehttp://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
<?xmlversion="1.0"encoding="gbk"?>
2
3
<!DOCTYPEstruts-configPUBLIC
4
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.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
<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"
2
pageEncoding="ISO-8859-1"%>
3
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
4
<html>
5
<head>
6
<metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1">
7
<title>Inserttitlehere</title>
8
</head>
9
<body>
10
<formaction="login.do"method="post">
11
username:<inputtype="text"name="username"/><br/>
12
password:<inputtype="password"name="password"/><br/>
13
<inputtype="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>loginsuccess!</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><fontcolor="red">loginfailed!</font></h1>
3
</body>

2

3

3.编写一个ActionForm的类,用来暂存请求传给服务端的数据。
1
packageper.struts1.web;
2
importorg.apache.struts.action.ActionForm;
3
publicclassLoginActionFormextendsActionForm{
4
privateStringusername;
5
privateStringpassword;
6
publicStringgetUsername(){
7
returnusername;
8
}
9
publicvoidsetUsername(Stringusername){
10
System.out.println(username);
11
this.username=username;
12
}
13
publicStringgetPassword(){
14
returnpassword;
15
}
16
publicvoidsetPassword(Stringpassword){
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
packageper.struts1.web;
2
importjavax.servlet.http.HttpServletRequest;
3
importjavax.servlet.http.HttpServletResponse;
4
importorg.apache.struts.action.Action;
5
importorg.apache.struts.action.ActionForm;
6
importorg.apache.struts.action.ActionForward;
7
importorg.apache.struts.action.ActionMapping;
8
publicclassLoginActionextendsAction{
9
@Override
10
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
11
HttpServletRequestrequest,HttpServletResponseresponse)
12
throwsException{
13
LoginActionFormlaf=(LoginActionForm)form;
14
Stringusername=laf.getUsername();
15
Stringpassword=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
returnmapping.findForward("success");
21
}else{
22
returnmapping.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
<?xmlversion="1.0"encoding="gbk"?>
2
<!DOCTYPEstruts-configPUBLIC
3
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.3//EN"
4
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
5
<struts-config>
6
<form-beans>
7
<form-beanname="loginForm"type="per.struts1.web.LoginActionForm">
8
<!--为暂存数据的ActionForm类进行配置,name是随意取得,type为类的全限定名-->
9
</form-bean>
10
</form-beans>
11
12
<action-mappings>
13
<actionpath="/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
<forwardname="success"path="/success.jsp"></forward>
19
<!--forward标签是用于页面跳转的,path即为跳转路径,而name起一个标识作用-->
20
<forwardname="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页面。