1
此struts的配置文件的编写
2
struts
-
config.xml
3
4
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
5
<!
DOCTYPE struts
-
config PUBLIC
"
-//Apache Software Foundation//DTD Struts Configuration 1.2//EN
"
"
http://struts.apache.org/dtds/struts-config_1_2.dtd
"
>
6
7
<
struts
-
config
>
8
<
data
-
sources
>
9
<
data
-
source key
=
"
oracleDB1
"
type
=
"
org.apache.commons.dbcp.BasicDataSource
"
>
10
<
set
-
property property
=
"
driverClassName
"
11
value
=
"
oracle.jdbc.driver.OracleDriver
"
/>
12
<
set
-
property property
=
"
url
"
13
value
=
"
jdbc:oracle:thin:@localhost:1521:你的SID
"
/>
14
<
set
-
property property
=
"
maxActive
"
15
value
=
"
5
"
/>
16
<
set
-
property property
=
"
username
"
17
value
=
"
数据库用户名
"
/>
18
<
set
-
property property
=
"
password
"
19
value
=
"
数据库密码
"
/>
20
<
set
-
property property
=
"
autoCommit
"
21
value
=
"
true
"
/>
22
</
data
-
source
>
23
</
data
-
sources
>
24
25
26
<
form
-
beans
>
27
<
form
-
bean name
=
"
userForm
"
type
=
"
classmate.UserForm
"
/>
28
</
form
-
beans
>
29
30
<
global
-
exceptions
/>
31
<
global
-
forwards
>
32
<
forward name
=
"
failed
"
path
=
"
/error.jsp
"
/>
33
<
forward name
=
"
successed
"
path
=
"
/right.jsp
"
/>
34
</
global
-
forwards
>
35
36
<
action
-
mappings
>
37
<
action path
=
"
/login
"
type
=
"
classmate.LoginAction
"
name
=
"
userForm
"
scope
=
"
request
"
validate
=
"
true
"
input
=
"
/error.jsp
"
/>
38
<
action path
=
"
/regist
"
forward
=
"
/regist.jsp
"
/>
39
</
action
-
mappings
>
40
41
<
controller processorClass
=
"
classmate.MyRequestProcessor
"
/>
42
<
message
-
resources parameter
=
"
classmate.MyResource
"
/>
43
</
struts
-
config
>
44
45
在添加MyResource_zh.properties
/
MyResource_zh.properties文件 其实标签用。我不太爱用标签 因为 有的是时候有问题 也不知道什么地方错了!
46
47
在用标签的时候还要在web.xml中写出标签文件struts
-
bean.tld
/
struts
-
html.tld的路径。下面我会给出web.xml的代码。
48
49
MyResource_zh.properties
50
51
MyResource.properties
52
title.login
=
登录界面
53
title.welcome
=
欢迎,
54
title.failure
=
抱歉,登录失败
!
55
label.login
=
请输入用户名和密码
56
label.deny
=
您无权访问本页面
!
57
item.submit
=
提交
58
item.reset
=
重置
59
item.user
=
用户
60
item.password
=
密码
61
link.relative
=
友情链接
62
link.loginAgain
=
重新登录
63
64
error.name.required
=
用户名不能为空
65
error.psw.required
=
密码不能为空
66
67
68
web.xml
69
<?
xml version
=
"
1.0
"
encoding
=
"
ISO-8859-1
"
?>
70
71
<!
DOCTYPE web
-
app
72
PUBLIC
"
-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
"
73
"
http://java.sun.com/dtd/web-app_2_3.dtd
"
>
74
75
<
web
-
app
>
76
77
<!--
Action Servlet Configuration
-->
78
<
servlet
>
79
<
servlet
-
name
>
actionServlet
</
servlet
-
name
>
80
<
servlet
-
class
>
org.apache.struts.action.ActionServlet
</
servlet
-
class
>
81
</
servlet
>
82
83
<!--
Action Servlet Mapping
-->
84
<
servlet
-
mapping
>
85
<
servlet
-
name
>
actionServlet
</
servlet
-
name
>
86
<
url
-
pattern
>*
.
do
</
url
-
pattern
>
87
</
servlet
-
mapping
>
88
89
<!--
The Welcome File List
-->
90
<
welcome
-
file
-
list
>
91
<
welcome
-
file
>
login.jsp
</
welcome
-
file
>
92
</
welcome
-
file
-
list
>
93
94
<!--
Struts Tag Library Descriptors
-->
95
<
taglib
>
96
<
taglib
-
uri
>/
WEB
-
INF
/
struts
-
bean.tld
</
taglib
-
uri
>
97
<
taglib
-
location
>/
WEB
-
INF
/
struts
-
bean.tld
</
taglib
-
location
>
98
</
taglib
>
99
</
web
-
app
>
100
101
到这就一切都搞定了 至于 struts
-
config.xml 配置文件和其他 的对应关系自己在细看看就可以了。
工具: MyEclipse Eclipse
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
数据库:Oracle
服务器:Tomcat
其他包: commons-pool-1.3
commons-dbcp-1.2.1
jdbc2_0-stdext.jar
classes12.jar
1. 首先建立数据库
Create TABLE classuser(
username VARCHAR2 (20) PRIMARY KEY,
password VARCHAR2 (20)
);
2. 新建立一个项目
MyEclipse
---J2EE PROJECT
---WEB PROJECT
这里给项目起名为:validate_login
然后给项目添加:struts
tomcat
接着把其他包也都添加到项目中
3. 始写struts 代码
建立一个 Form,Action & Jsp
分别建立java文件 :
LoginAction.java
UserForm.java
DBUser.java
Jsp文件:
Login.jsp
Right.jsp
Error.jsp
1
LoginAction.java
2![]()
3
import
org.apache.struts.action.Action;
4
import
org.apache.struts.action.ActionForm;
5
import
org.apache.struts.action.ActionForward;
6
import
org.apache.struts.action.ActionMapping;
7![]()
8
import
org.apache.struts.action.ActionMessages;
9
import
org.apache.struts.action.ActionMessage;
10![]()
11
import
javax.servlet.ServletContext;
12
import
javax.sql.DataSource;
13
import
javax.servlet.http.
*
;
14![]()
15![]()
public
final
class
LoginAction
extends
Action
{
16
public ActionForward execute(
17
ActionMapping mapping,
18
ActionForm form,
19
HttpServletRequest request,
20![]()
HttpServletResponse response) throws Exception
{
21
22
23
UserForm userform = (UserForm) form;
24
String name = userform.getName();
25
String psw = userform.getPsw();
26
27![]()
28
ServletContext context = servlet.getServletContext();
29
DataSource
30
dataSource=(DataSource)context.getAttribute("oracleDB1");
31
32
DBUser dbuser = new DBUser(dataSource);
33
HttpSession session = request.getSession();
34
35![]()
if (!dbuser.checkUser(name,psw))
{
36
ActionMessages errors = new ActionMessages();
37
errors.add(ActionMessages.GLOBAL_MESSAGE,
38
new ActionMessage("label.deny"));
39
40![]()
if (!errors.isEmpty())
{
41
saveErrors(request, errors);
42
}
43
return mapping.findForward("failed"); //登陆失败
44
}
45![]()
else
{
46
return (mapping.findForward("successed"));//登陆成功
47
}
48
}
49
}
50
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
1
UserForm.java
2![]()
3
import
org.apache.struts.action.ActionForm;
4
import
org.apache.struts.action.ActionMapping;
5
import
javax.servlet.http.HttpServletRequest;
6
import
org.apache.struts.action.ActionErrors;
7
import
org.apache.struts.action.ActionMessage;
8![]()
9![]()
public
class
UserForm
extends
ActionForm
{
10![]()
11![]()
12
private String psw;
13![]()
14
private String name;
15![]()
16![]()
17![]()
18
public ActionErrors validate(ActionMapping mapping,
19![]()
HttpServletRequest request)
{
20
ActionErrors errors = new ActionErrors();
21![]()
if ((name == null) || (name.equals("")))
{
22
errors.add(ActionErrors.GLOBAL_MESSAGE,
23
new ActionMessage("error.name.required"));
24
}
25![]()
if((psw == null) || (psw.equals("")))
{
26
errors.add(ActionErrors.GLOBAL_MESSAGE,new ActionMessage("error.psw.required"));
27
}
28
return errors;
29
}
30![]()
31
32
* @param mapping
33
34![]()
public void reset(ActionMapping mapping, HttpServletRequest request)
{
35![]()
36
}
37![]()
38
39![]()
public String getPsw()
{
40
return psw;
41
}
42![]()
43
44![]()
public void setPsw(String psw)
{
45
this.psw = psw;
46
}
47![]()
public String getName()
{
48
return name;
49
}
50![]()
51
52![]()
public void setName(String name)
{
53
this.name = name;
54
}
55![]()
56
}
57
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
1
DBUser.java
2![]()
3
import
javax.sql.DataSource;
4
import
java.sql.Connection;
5
import
java.sql.Statement;
6
import
java.sql.ResultSet;
7
import
java.sql.SQLException;
8![]()
9![]()
public
class
DBUser
{
10![]()
11
DataSource dataSource;
12
13![]()
public DBUser(DataSource dataSource)
{
14
15
this.dataSource = dataSource;
16
}
17
18
19![]()
public boolean checkUser(String name,String psw) throws Exception
{
20
Connection connect = null;
21
String strSql;
22
ResultSet rs;
23
boolean result=false;
24
strSql = "select * from classuser where username='"
25
+ name + "' and password='" + psw + "'";
26![]()
try
{
27
connect = dataSource.getConnection();
28
Statement stmt = connect.createStatement();
29
rs = stmt.executeQuery(strSql);
30![]()
if ( rs.next())
{
31
result=true;
32
}
33
}
34![]()
catch(SQLException ex)
{
35
ex.printStackTrace();
36
}
37![]()
finally
{
38
if(connect!=null)
39
connect.close();
40
}
41
return result;
42
43
}
44
45
}
46
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
1
Login.jsp
2![]()
3
<%
@ page contentType
=
"
text/html;charset=GBK
"
language
=
"
java
"
%>
4
<
body vLink
=
"
#006666
"
link
=
"
#003366
"
bgColor
=
"
#E0F0F8
"
>
5
<
img height
=
"
33
"
src
=
"
enter.gif
"
width
=
"
148
"
>
6
<
form action
=
"
login.do
"
method
=
"
post
"
>
7
用户名:
<
input size
=
"
15
"
name
=
"
name
"
><
p
>
8
密 码:
<
input type
=
"
password
"
size
=
"
15
"
name
=
"
psw
"
><
p
>
9
<
a href
=
"
regist.do
"
>
新用户注册
</
A
>|
10
<
input type
=
"
submit
"
value
=
"
登录
"
>
11
</
form
>
12
2
3
4
5
6
7
8
9
10
11
12
1
Error.jsp
2![]()
3
<%
@ page contentType
=
"
text/html;charset=GBK
"
language
=
"
java
"
%>
4
<
h1
><
p
><
img src
=
"
cry.gif
"
>
对不起,登录失败!
5
</
p
></
h1
>
6
<
a href
=
"
login.jsp
"
>
重新登录
</
a
>||
7
<
a href
=
"
regist.do
"
>
新用户注册
</
a
>
8
2
3
4
5
6
7
8
1
Right.jsp
2![]()
3![]()
4
<%
@ page contentType
=
"
text/html;charset=GBK
"
language
=
"
java
"
%>
5
<%
@ page
import
=
"
classmate.*
"
%>
6
<%
7
UserForm formBean1
=
(UserForm)request.getAttribute(
"
userForm
"
);
8![]()
if
(formBean1
!=
null
&&
formBean1.getName()
!=
null
)
{
9
%>
10
<img src="smile.gif">
11
热烈的欢迎您,
12
<%=formBean1.getName()%> 用户!
13
<%
14![]()
}
else
{
15
%>
16
您无权访问本页面!
17
<%}
18
%>
19
<
br
><
br
><
br
>
20
<
a href
=
"
login.jsp
"
>
重新登录
</
a
>||
21
<
a href
=
"
regist.do
"
>
新用户注册
</
a
>
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22