1.了解struts
Struts2框架中核心組件就是Action、攔截器等,Struts2框架使用包來管理Action和攔截器等。每個包就是多個Action、多個攔截器、多個攔截器引用的集合。
在struts.xml文件中package元素用于定義包配置,每個package元素定義了一個包配置。它的常用屬性有:
l name:必填屬性,用來指定包的名字。
l extends:可選屬性,用來指定該包繼承其他包。繼承其它包,可以繼承其它包中的Action定義、攔截器定義等。
l namespace:可選屬性,用來指定該包的命名空間。
2.配置struts
首先新建一個web項目,在右擊一個項目,選擇myeclipse下add struts
在選擇 struts2.1 單擊下一步在選擇自己所需要的包 在保存
3.修改用戶登錄驗證示例,多增加一個注冊用戶功能。
1. 修改Action類:
1
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package org.qiujy.web.struts2.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; /** *@authorqiujy *@version1.0 */ publicclass LoginAction extends ActionSupport{ private String userName; private String password; private String msg; //結果信息屬性 /** *@returnthemsg */ public String getMsg() { returnmsg; } /** *@parammsgthemsgtoset */ publicvoid setMsg(String msg) { this .msg = msg; } /** *@returntheuserName */ public String getUserName() { returnuserName; } /** *@paramuserNametheuserNametoset */ publicvoid setUserName(String userName) { this .userName = userName; } /** *@returnthepassword */ public String getPassword() { returnpassword; } /** *@parampasswordthepasswordtoset */ publicvoid setPassword(String password) { this .password = password; } /** *處理用戶請求的login()方法 *@return結果導航字符串 *@throwsException */ public String login() throws Exception{ if ( "test" .equals( 123 ) && "test" .equals( 123 )){ msg = "登錄成功,歡迎" + 123 ; //獲取ActionContext實例,通過它來訪問Servlet API ActionContext context = ActionContext.getContext(); //看session中是否已經存放了用戶名,如果存放了:說明已經登錄了; //否則說明是第一次登錄成功 if ( null != context.getSession().get( "uName" )){ msg = this .userName + ":你已經登錄過了!!!" ; } else { context.getSession().put( "uName" , this .userName); } returnthis.SUCCESS; } else { msg = "登錄失敗,用戶名或密碼錯" ; returnthis.ERROR; } } public String regist() throws Exception{ //將用戶名,密碼添加到數據庫中 //... msg = "注冊成功。" ; returnthis.SUCCESS; } } |
2. struts.xml文件:沒有什么變化,跟以前一樣配置
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> < struts > < package name = "my" extends = "struts-default" namespace = "/manage" > <!-- 定義處理請求URL為login.action的Action --> < action name = "userOpt" class = "org.qiujy.web.struts2.action.LoginAction" > <!-- 定義處理結果字符串和資源之間的映射關系 --> < result name = "success" >/success.jsp</ result > < result name = "error" >/error.jsp</ result > </ action > </ package > </ struts > |
3. 頁面:
index.jsp
1
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
27
28
|
<%@ page language= "java" pageEncoding= "UTF-8" %> <html> <head> <title>用戶登錄頁面</title> </head> <body> <h2>用戶入口</h2> <hr> <form action= "manage/userOpt!login.action" method= "post" > <table border= "1" > <tr> <td>用戶名:</td> <td><input type= "text" name= "userName" /></td> </tr> <tr> <td>密碼:</td> <td><input type= "password" name= "password" /></td> </tr> <tr> <td colspan= "2" > <input type= "submit" value= " 確定 " /> </td> </tr> </table> </form> </body> </html> |
regist.jsp
1
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
27
28
|
<%@ page language= "java" pageEncoding= "UTF-8" %> <html> <head> <title>用戶注冊頁面</title> </head> <body> <h2>用戶注冊</h2> <hr> <form action= "manage/userOpt!regist.action" method= "post" > <table border= "1" > <tr> <td>用戶名:</td> <td><input type= "text" name= "userName" /></td> </tr> <tr> <td>密碼:</td> <td><input type= "password" name= "password" /></td> </tr> <tr> <td colspan= "2" > <input type= "submit" value= " 注冊 " /> </td> </tr> </table> </form> </body> </html> |
現在就可以使用sturts。
以上所述就是本文的全部內容了,希望大家能夠喜歡。