欢迎加入我的QQ交流群425783133
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
|
javaBean的代码
package
bean;
import
java.io.Serializable;
public
class
Admin
implements
Serializable{
/**
*
*/
private
static
final
long
serialVersionUID = 1L;
private
Integer id;
private
String name;
private
String pass;
public
Admin() {
super
();
// TODO Auto-generated constructor stub
}
public
Admin(Integer id, String name, String pass) {
super
();
this
.id = id;
this
.name = name;
this
.pass = pass;
}
public
Integer getId() {
return
id;
}
public
void
setId(Integer id) {
this
.id = id;
}
public
String getName() {
return
name;
}
public
void
setName(String name) {
this
.name = name;
}
public
String getPass() {
return
pass;
}
public
void
setPass(String pass) {
this
.pass = pass;
}
@Override
public
String toString() {
return
"AdminBean [id="
+ id +
", name="
+ name +
", pass="
+ pass
+
"]"
;
}
}
|
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
|
dao的基础接口类
package
dao;
import
java.util.List;
public
interface
BaseDao<t, PK=
""
> {
/**
* 插入数据
*/
boolean
insert(T entity);
/**
* 根据实体删除数据
*/
boolean
delete(T entity);
/**
* 根据ID删除数据
*/
boolean
deleteById(PK id);
/**
* 修改数据
*/
boolean
update(T entity);
/**
* 查询所有数据
*/
List<t> findAll();
/**
* 根据ID查询数据
*/
T findById(PK id);
/**
* 根据当前页查询数据
*/
List<t> findNowPageInfo(
int
nowpage,
int
pagesize,String sortName,String sortOrder);
/**
* 返回总页数
*/
Integer getCountPage(
int
pagesize);
/**
* 批量删除
*/
boolean
deletes(Object ids[]);
}</t></t></t,>
|
1
2
3
4
5
6
7
8
9
10
11
|
对admin操作的接口类,继承自basedao
package
dao;
import
bean.Admin;
public
interface
AdminDao
extends
BaseDao {
Admin checkLogin(String name,String pass);
Admin checkLogin(String name);
}</admin,>
|
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
dao操作实体的实现类
package
daoImpl;
import
java.sql.Connection;
import
java.sql.PreparedStatement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.util.List;
import
util.JdbcUtil;
import
bean.Admin;
import
dao.AdminDao;
public
class
AdminDaoImpl
implements
AdminDao {
private
Connection conn;
private
PreparedStatement pstmt;
private
ResultSet rs;
@Override
public
boolean
insert(Admin entity) {
return
JdbcUtil.upDate(
"insert into admin (name,pass) values (?,?)"
,
new
Object[] { entity.getName(), entity.getPass() });
}
@Override
public
boolean
delete(Admin entity) {
// TODO Auto-generated method stub
return
deleteById(entity.getId());
}
@Override
public
boolean
deleteById(Integer id) {
// TODO Auto-generated method stub
return
JdbcUtil.upDate(
"delete from admin where id=?"
,
new
Object[] { id });
}
@Override
public
boolean
update(Admin entity) {
// TODO Auto-generated method stub
return
JdbcUtil.upDate(
"update admin set name=?,pass=? where id=?"
,
new
Object[] { entity.getName(), entity.getPass(),
entity.getId() });
}
@Override
public
List findAll() {
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Admin findById(Integer id) {
// TODO Auto-generated method stub
return
null
;
}
@Override
public
List findNowPageInfo(
int
nowpage,
int
pagesize,
String sortName, String sortOrder) {
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Integer getCountPage(
int
pagesize) {
// TODO Auto-generated method stub
return
null
;
}
@Override
public
boolean
deletes(Object[] ids) {
// TODO Auto-generated method stub
return
false
;
}
@Override
public
Admin checkLogin(String name, String pass) {
// TODO Auto-generated method stub
Admin entity =
null
;
String sql =
"select * from admin where name=? and pass=?"
;
conn = JdbcUtil.getConn();
try
{
pstmt = conn.prepareStatement(sql);
int
index =
1
;
pstmt.setString(index++, name);
pstmt.setString(index++, pass);
rs = pstmt.executeQuery();
if
(rs.next()) {
entity =
new
Admin();
entity.setId(rs.getInt(
"id"
));
entity.setName(rs.getString(
"name"
));
entity.setPass(rs.getString(
"pass"
));
}
}
catch
(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
JdbcUtil.release(rs, pstmt);
}
return
entity;
}
@Override
public
Admin checkLogin(String name) {
Admin entity =
null
;
String sql =
"select * from admin where name=?"
;
conn = JdbcUtil.getConn();
try
{
pstmt = conn.prepareStatement(sql);
int
index =
1
;
pstmt.setString(index++, name);
rs = pstmt.executeQuery();
if
(rs.next()) {
entity =
new
Admin();
entity.setId(rs.getInt(
"id"
));
entity.setName(rs.getString(
"name"
));
entity.setPass(rs.getString(
"pass"
));
}
}
catch
(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
JdbcUtil.release(rs, pstmt);
}
return
entity;
}
}</admin></admin>
|
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
|
服务器接口类,用来将操作数据库的方法与记录历史的方法或其他的方法分离开,作用是增强代码的可读性以及条理性,
package
service;
import
java.util.List;
public
interface
BaseService<t, PK=
""
> {
/**
* 插入数据
*/
boolean
insert(T entity);
/**
* 根据实体删除数据
*/
boolean
delete(T entity);
/**
* 根据ID删除数据
*/
boolean
deleteById(PK id);
/**
* 修改数据
*/
boolean
update(T entity);
/**
* 查询所有数据
*/
List<t> findAll();
/**
* 根据ID查询数据
*/
T findById(PK id);
/**
* 根据当前页查询数据
*/
List<t> findNowPageInfo(
int
nowpage,
int
pagesize,String sortName,String sortOrder);
/**
* 返回总页数
*/
Integer getCountPage(
int
pagesize);
/**
* 批量删除
*/
boolean
deletes(Object ids[]);
}
package
service;
import
bean.Admin;
public
interface
AdminService
extends
BaseService {
Admin checkLogin(String name,String pass);
Admin checkLogin(String name);
}</admin,></t></t></t,>
|
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
|
实现服务器接口方法的实现类
package
serviceImpl;
import
java.util.List;
import
dao.AdminDao;
import
daoImpl.AdminDaoImpl;
import
bean.Admin;
import
service.AdminService;
public
class
AdminServiceImpl
implements
AdminService {
AdminDao adminDao =
new
AdminDaoImpl();
@Override
public
boolean
insert(Admin entity) {
return
adminDao.insert(entity);
}
@Override
public
boolean
delete(Admin entity) {
return
false
;
}
@Override
public
boolean
deleteById(Integer id) {
return
false
;
}
@Override
public
boolean
update(Admin entity) {
return
false
;
}
@Override
public
List findAll() {
return
null
;
}
@Override
public
Admin findById(Integer id) {
return
null
;
}
@Override
public
List findNowPageInfo(
int
nowpage,
int
pagesize,
String sortName, String sortOrder) {
return
null
;
}
@Override
public
Integer getCountPage(
int
pagesize) {
return
null
;
}
@Override
public
boolean
deletes(Object[] ids) {
return
false
;
}
@Override
public
Admin checkLogin(String name, String pass) {
Admin entity = adminDao.checkLogin(name, pass);
return
entity;
}
@Override
public
Admin checkLogin(String name) {
Admin entity = adminDao.checkLogin(name);
return
entity;
}
}</admin></admin>
|
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
用来将页面传入的信息进行分析处理的服务器类,
package
servlet;
import
java.io.IOException;
import
java.net.URLEncoder;
import
java.security.MessageDigest;
import
java.security.NoSuchAlgorithmException;
import
javax.jms.Message;
import
javax.servlet.ServletException;
import
javax.servlet.http.Cookie;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
com.sun.mail.util.BASE64DecoderStream;
import
com.sun.mail.util.BASE64EncoderStream;
import
service.AdminService;
import
serviceImpl.AdminServiceImpl;
import
sun.misc.BASE64Decoder;
import
sun.misc.BASE64Encoder;
import
bean.Admin;
public
class
AdminServlet
extends
HttpServlet {
private
AdminService adminService =
new
AdminServiceImpl();
// 规定时间常量,为一天
private
final
int
EXPIRES =
60
*
60
*
24
;
public
void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
// request.setCharacterEncoding("UTF-8");
String oper = request.getParameter(
"oper"
);
if
(
"adminLogin"
.equals(oper)) {
adminLogin(request, response);
}
if
(
"login"
.equals(oper)) {
request.getRequestDispatcher(
"./login.jsp"
).forward(request,
response);
}
}
private
void
adminLogin(HttpServletRequest request,
HttpServletResponse response)
throws
ServletException, IOException {
//获取表单提交的数据
String name = request.getParameter(
"name"
);
String pass = request.getParameter(
"pass"
);
String mark = request.getParameter(
"mark"
);
String day = request.getParameter(
"day"
);
// System.out.println(name + "====" + pass + "====" + mark
// + "============" + day);
//根据获取的数据向数据库发送数据请求,
Admin entity = adminService.checkLogin(name, pass);
//判断查询结果
if
(entity !=
null
) {
//判断用户是否进行记录密码和自动登陆的操作
if
(
"mark"
.equals(mark)) {
// 获取当前的时间并加上要保存的时间长度
long
time = System.currentTimeMillis()
+ (EXPIRES * Integer.valueOf(day)*
1000
);
// 声明cookie
Cookie autoCookie =
null
;
// 获取所有的cookie的数组
Cookie cookies[] = request.getCookies();
// 遍历判断
for
(Cookie cookie : cookies) {
// 判断是否已经存在cookie记录
if
(
"autoLogin"
.equals(cookie.getName())) {
// 存在即直接赋值
autoCookie = cookie;
// 并改变内容
String newValue = name
+
":"
+ time
+
":"
+ md5Value(pass +
":"
+ name +
":"
+ time
+
":donghongyujava"
);
autoCookie.setValue(newValue);
}
else
{
String cookieValue = name
+
":"
+ time
+
":"
+ md5Value(pass +
":"
+ name +
":"
+ time
+
":donghongyujava"
);
/*
* Control character in cookie value or attribute.
* 当存入的数据是中文时,cookie会出现乱码现象 需要进行编码的转换
*/
autoCookie =
new
Cookie(
"autoLogin"
, URLEncoder.encode(
cookieValue,
"UTF-8"
));
}
}
// 设置cookie的最长的存活时间
autoCookie.setMaxAge(EXPIRES * Integer.valueOf(day));
response.addCookie(autoCookie);
}
// 将admin存入到session
request.getSession().setAttribute(
"admin"
, entity);
// 设置成功后就登陆操作
request.getRequestDispatcher(
"./sc.jsp"
).forward(request, response);
}
else
{
request.setAttribute(
"msg"
,
"用户名或密码错误请重试"
);
request.getRequestDispatcher(
"./login.jsp"
).forward(request,
response);
}
}
public
void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
this
.doGet(request, response);
}
//加密的操作方法
public
String md5Value(String value) {
try
{
// 获取md5加密的对象
MessageDigest digest = MessageDigest.getInstance(
"md5"
);
// 将传入的数据装换为byte字节,在用digest进行转换(加密)成新的字节数组,
byte
result[] = digest.digest(value.getBytes());
//需要的jdk版本myeclipse2013中自带的com.sun.java.jdk.win32.x86_64_1.6.0.u43
//jdk1.7.0_25没有相关的包
BASE64Encoder encoder =
new
BASE64Encoder();
// 返回加密后的数据
return
encoder.encode(result);
}
catch
(NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return
""
;
};
}
|
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
|
过滤器类,用来设置请求的编码
package
filter;
import
java.io.IOException;
import
javax.servlet.Filter;
import
javax.servlet.FilterChain;
import
javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import
javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
public
class
EncodingFilter
implements
Filter {
private
FilterConfig filterConfig;
@Override
public
void
destroy() {
// TODO Auto-generated method stub
}
@Override
public
void
doFilter(ServletRequest req, ServletResponse res,
FilterChain chain)
throws
IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
// 编码的设置
request.setCharacterEncoding(filterConfig.getInitParameter(
"encoding"
));
chain.doFilter(request, response);
}
@Override
public
void
init(FilterConfig filterConfig)
throws
ServletException {
// TODO Auto-generated method stub
this
.filterConfig=filterConfig;
}
}
|
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
自动登录的过滤类,用来控制用户的自动的登录操作的相关
package
filter;
import
java.io.IOException;
import
java.security.MessageDigest;
import
java.security.NoSuchAlgorithmException;
import
javax.servlet.Filter;
import
javax.servlet.FilterChain;
import
javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import
javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse;
import
javax.servlet.http.Cookie;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
bean.Admin;
import
service.AdminService;
import
serviceImpl.AdminServiceImpl;
import
sun.misc.BASE64Encoder;
public
class
AutoLoginFilter
implements
Filter {
@Override
public
void
destroy() {
// TODO Auto-generated method stub
}
@Override
public
void
doFilter(ServletRequest req, ServletResponse res,
FilterChain chain)
throws
IOException, ServletException {
// 强制造型为子类型
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
// 1.首先判断session
Object object = request.getSession().getAttribute(
"admin"
);
if
(object !=
null
) {
request.getRequestDispatcher(
"./sc.jsp"
).forward(request, response);
return
;
}
// 2.判断cookie中是否存在用户的记录
Cookie autoCookie =
null
;
// 获取所有的cookie进行遍历判断
Cookie cookies[] = request.getCookies();
if
(cookies !=
null
) {
for
(Cookie cookie : cookies) {
// 判断是否已经存贮用户记录
if
(
"autoLogin"
.equals(cookie.getName())) {
autoCookie = cookie;
}
}
// 判断是否存在用户自动登录记录
if
(autoCookie ==
null
) {
chain.doFilter(request, response);
return
;
}
// 3.判断cookie的值
// 获取cookie值
String value = autoCookie.getValue();
// 拆分
String temps[] = value.split(
":"
);
// 判断长度是否是自定义的长度
if
(temps.length !=
3
) {
chain.doFilter(request, response);
return
;
}
// 获取拆分后的数据
String name = temps[
0
];
String time = temps[
1
];
String service_md5Value = temps[
2
];
// 4.根据时间判断是否失效
if
(Long.valueOf(time) <= System.currentTimeMillis()) {
chain.doFilter(request, response);
return
;
}
// 5.根据用户名查询数据
AdminService adminService =
new
AdminServiceImpl();
// 向数据库发送数据请求
Admin entity = adminService.checkLogin(name);
if
(entity ==
null
) {
chain.doFilter(request, response);
return
;
}
// 6.拼接字符串在进行二次判断,
String md5Temp = entity.getPass() +
":"
+ entity.getName() +
":"
+ time +
"donghongyujava"
;
if
(!(md5Value(md5Temp).equals(service_md5Value))) {
chain.doFilter(request, response);
return
;
}
// 7.如果以上的判断都通过,那么就发送成功的转跳连接
request.getSession().setAttribute(
"admin"
, entity);
request.getRequestDispatcher(
"./sc.jsp"
).forward(request, response);
}
else
{
chain.doFilter(request, response);
return
;
}
}
@Override
public
void
init(FilterConfig arg0)
throws
ServletException {
// TODO Auto-generated method stub
}
// 加密的操作函数
public
String md5Value(String value) {
try
{
// 获取md5加密的对象
MessageDigest digest = MessageDigest.getInstance(
"md5"
);
// 将传入的数据装换为byte字节,在用digest进行转换(加密)成新的字节数组,
byte
result[] = digest.digest(value.getBytes());
BASE64Encoder encoder =
new
BASE64Encoder();
// 返回加密后的数据
return
encoder.encode(result);
}
catch
(NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return
""
;
};
}
|
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
|
web的配置,主要配置的是servlet和filter的配置
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<?XML:NAMESPACE PREFIX = [
default
] http:
//java.sun.com/xml/ns/javaee NS = "http://java.sun.com/xml/ns/javaee" /><web-app id="WebApp_ID" xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<display-name>jqueryeasyui</display-name>
<servlet>
<servlet-name>AdminServlet</servlet-name>
<servlet-
class
>servlet.AdminServlet</servlet-
class
>
</servlet>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/AdminOPer.
do
</url-pattern>
</servlet-mapping>
<filter>
<filter-name>AutoLoginFilter</filter-name>
<filter-
class
>filter.AutoLoginFilter</filter-
class
>
</filter>
<filter-mapping>
<filter-name>AutoLoginFilter</filter-name>
<url-pattern>/AdminOPer.
do
</url-pattern>
</filter-mapping>
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-
class
>filter.EncodingFilter</filter-
class
>
<!-- 设置传入的参数是UTF-
8
-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-
8
</param-value>
</init-param>
</filter>
<!-- 设置所有的请求操作都进行这个过滤的操作 -->
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>
default
.html</welcome-file>
<welcome-file>
default
.htm</welcome-file>
<welcome-file>
default
.jsp</welcome-file>
</welcome-file-list>
</web-app>
|
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
|
用来跳转的jsp代码
<%@ page language=
"java"
import
=
"java.util.*"
pageEncoding=
"UTF-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"
+request.getServerName()+
":"
+request.getServerPort()+path+
"/"
;
%>
<base href=
"<%=basePath%>"
>
<title>My JSP
'index.jsp'
starting page</title>
<meta content=
"no-cache"
http-equiv=
"pragma"
>
<meta content=
"no-cache"
http-equiv=
"cache-control"
>
<meta content=
"0"
http-equiv=
"expires"
>
<meta content=
"keyword1,keyword2,keyword3"
http-equiv=
"keywords"
>
<meta content=
"This is my page"
http-equiv=
"description"
>
<!--
<link rel=
"stylesheet"
type=
"text/css"
href=
"styles.css"
>
-->
登录操作
|
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
|
要登陆的表单界面
<%@ page language=
"java"
import
=
"java.util.*"
pageEncoding=
"UTF-8"
%>
<%
@include
file=
"/common/tag.jsp"
%>
<%
@include
file=
"/common/jquery.jsp"
%>
<html>
<title>My JSP
'index.jsp'
starting page</title>
<meta content=
"no-cache"
http-equiv=
"pragma"
>
<meta content=
"no-cache"
http-equiv=
"cache-control"
>
<meta content=
"0"
http-equiv=
"expires"
>
<meta content=
"keyword1,keyword2,keyword3"
http-equiv=
"keywords"
>
<meta content=
"This is my page"
http-equiv=
"description"
>
<!--
<link rel=
"stylesheet"
type=
"text/css"
href=
"styles.css"
>
-->
<div>
<!-- 登录错误时的提示操作 -->
<b>${requestScope.msg}</b>
<!-- ${pageContext.request.contextPath}代表当前项目路径下的操作 -->
<form method=
"post"
action=
"${pageContext.request.contextPath}/AdminOPer.do"
>
<table border=
"1"
>
<tbody><tr>
<td>用户名:</td>
<td><input name=
"name"
type=
"text"
></td>
</tr>
<tr>
<td>密码:</td>
<td><input name=
"pass"
type=
"text"
></td>
</tr>
<tr>
<td align=
"right"
><input name=
"mark"
value=
"mark"
type=
"checkBox"
></td>
<td>下次记住密码</td>
</tr>
<tr>
<td colSpan=
"2"
><input name=
"day"
value=
"1"
type=
"radio"
>一天
<input name=
"day"
value=
"3"
type=
"radio"
>三天 <input name=
"day"
value=
"7"
CHECKED=
"checked"
type=
"radio"
>一周</td>
</tr>
<tr>
<td colSpan=
"2"
align=
"center"
><input id=
"submit"
value=
"登录"
type=
"submit"
><input id=
"reset"
value=
"重置"
type=
"reset"
></td>
</tr>
</tbody></table>
<input name=
"oper"
value=
"adminLogin"
type=
"hidden"
>
</form>
</div>
|
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
|
成功登录后的界面jsp代码
<%@ page language=
"java"
import
=
"java.util.*"
pageEncoding=
"UTF-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() +
"://"
+ request.getServerName() +
":"
+ request.getServerPort()
+ path +
"/"
;
%>
<base href=
"<%=basePath%>"
>
<title>My JSP
'sc.jsp'
starting page</title>
<meta content=
"no-cache"
http-equiv=
"pragma"
>
<meta content=
"no-cache"
http-equiv=
"cache-control"
>
<meta content=
"0"
http-equiv=
"expires"
>
<meta content=
"keyword1,keyword2,keyword3"
http-equiv=
"keywords"
>
<meta content=
"This is my page"
http-equiv=
"description"
>
<!--
<link rel=
"stylesheet"
type=
"text/css"
href=
"styles.css"
>
-->
<!-- 从session域中取出已经存入的用户对象 -->
欢迎 <b>${sessionScope.admin.name}</b>进入
|