JSP复习笔记——第10章 连接数据库 之 JSP+JDBC留言管理程序

JSP+JDBC留言管理程序

Java代码
1.-- 创建表
2.-- 用户表(登陆)、留言表
3.
4.-- 删除表
5.DROP TABLE person ;
6.DROP TABLE note ;
7.
8.-- 删除序列
9.DROP SEQUENCE note_sequ ;
10.
11.-- 创建序列
12.CREATE SEQUENCE note_sequ ;
13.
14.
15.-- 创建person表
16.CREATE TABLE person
17.(
18. id varchar(20) not null primary key ,
19. name varchar(20) ,
20. password varchar(20)
21.) ;
22.
23.-- 创建留言表
24.CREATE TABLE note
25.(
26. id int not null primary key , -- sequence
27. title varchar(20) not null ,
28. author varchar(20) not null ,
29. content varchar(50) not null
30.) ;
31.
32.-- 插入测试数据
33.INSERT INTO person VALUES ('darkness','wind','zzzzzz') ;
34.INSERT INTO person VALUES ('sky','could','mmmmmm') ;
35.
36.-- 事务提交
37.commit ;
-- 创建表
-- 用户表(登陆)、留言表

-- 删除表
DROP TABLE person ;
DROP TABLE note ;

-- 删除序列
DROP SEQUENCE note_sequ ;

-- 创建序列
CREATE SEQUENCE note_sequ ;


-- 创建person表
CREATE TABLE person
(
id varchar(20) not null primary key ,
name varchar(20) ,
password varchar(20)
) ;

-- 创建留言表
CREATE TABLE note
(
id int not null primary key , -- sequence
title varchar(20) not null ,
author varchar(20) not null ,
content varchar(50) not null
) ;

-- 插入测试数据
INSERT INTO person VALUES ('darkness','wind','zzzzzz') ;
INSERT INTO person VALUES ('sky','could','mmmmmm') ;

-- 事务提交
commit ;


Java代码
1.--------------------------login.jsp--------------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<html>
4.<head>
5. <title>JSP+JDBC 留言管理程序——登陆</title>
6.</head>
7.<body>
8.<center>
9. <h1>留言管理范例 —— JSP + JDBC实现</h1>
10. <hr>
11. <br>
12. <%
13. // 判断是否有错误信息,如果有则打印
14. // 如果没有此段代码,则显示时会直接打印null
15. if(request.getAttribute("err")!=null)
16. {
17. %>
18. <h2><%=request.getAttribute("err")%></h2>
19. <%
20. }
21. %>
22. <form action="login_conf.jsp" method="post">
23. <table width="80%">
24. <tr>
25. <td colspan="2">用户登陆</td>
26. </tr>
27. <tr>
28. <td>用户名:</td>
29. <td><input type="text" name="id"></td>
30. </tr>
31. <tr>
32. <td>密  码:</td>
33. <td><input type="password" name="password"></td>
34. </tr>
35. <tr>
36. <td colspan="2">
37. <input type="submit" value="登陆">
38. <input type="reset" value="重置">
39. </td>
40. </tr>
41. </table>
42. </form>
43.</center>
44.</body>
45.</html>
--------------------------login.jsp--------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
// 判断是否有错误信息,如果有则打印
// 如果没有此段代码,则显示时会直接打印null
if(request.getAttribute("err")!=null)
{
%>
<h2><%=request.getAttribute("err")%></h2>
<%
}
%>
<form action="login_conf.jsp" method="post">
<table width="80%">
<tr>
<td colspan="2">用户登陆</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>密  码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登陆">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>


Java代码
1.----------------login_conf.jsp----------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<%@ page import="java.sql.*"%>
4.<html>
5.<head>
6. <title>JSP+JDBC 留言管理程序——登陆</title>
7.</head>
8.<body>
9.<center>
10. <h1>留言管理范例 —— JSP + JDBC实现</h1>
11. <hr>
12. <br>
13. <%!
14. String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
15. String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
16. String DBUSER = "scott" ;
17. String DBPASSWORD = "darkness" ;
18. Connection conn = null ;
19. PreparedStatement pstmt = null ;
20. ResultSet rs = null ;
21. %>
22. <%
23. // 声明一个boolean变量,用于保存用户是否合法的状态
24. boolean flag = false ;
25.
26. // 接收参数
27. String id = request.getParameter("id") ;
28. String password = request.getParameter("password") ;
29. %>
30. <%
31. String sql = "SELECT name FROM person WHERE id=? and password=?" ;
32. try {
33. Class.forName(DBDRIVER) ;
34. conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
35. pstmt = conn.prepareStatement(sql) ;
36. pstmt.setString(1,id) ;
37. pstmt.setString(2,password) ;
38. rs = pstmt.executeQuery() ;
39. if (rs.next()) {
40. // 用户合法
41. flag = true ;
42. // 将用户名保存在session之中
43. session.setAttribute("uname",rs.getString(1)) ;
44. } else {
45. // 保存错误信息
46. request.setAttribute("err","错误的用户名及密码!!!") ;
47. }
48. rs.close() ;
49. pstmt.close() ;
50. conn.close() ;
51. } catch (Exception e) {
52. }
53. %>
54. <%
55. // 跳转
56. if (flag) {
57. // 用户合法
58. %>
59. <jsp:forward page="login_success.jsp"/>
60. <%
61. } else {
62. // 用户非法
63. %>
64. <jsp:forward page="login.jsp"/>
65. <%
66. }
67. %>
68.</center>
69.</body>
70.</html>
----------------login_conf.jsp----------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
String DBUSER = "scott" ;
String DBPASSWORD = "darkness" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
%>
<%
// 声明一个boolean变量,用于保存用户是否合法的状态
boolean flag = false ;

// 接收参数
String id = request.getParameter("id") ;
String password = request.getParameter("password") ;
%>
<%
String sql = "SELECT name FROM person WHERE id=? and password=?" ;
try {
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,id) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery() ;
if (rs.next()) {
// 用户合法
flag = true ;
// 将用户名保存在session之中
session.setAttribute("uname",rs.getString(1)) ;
} else {
// 保存错误信息
request.setAttribute("err","错误的用户名及密码!!!") ;
}
rs.close() ;
pstmt.close() ;
conn.close() ;
} catch (Exception e) {
}
%>
<%
// 跳转
if (flag) {
// 用户合法
%>
<jsp:forward page="login_success.jsp"/>
<%
} else {
// 用户非法
%>
<jsp:forward page="login.jsp"/>
<%
}
%>
</center>
</body>
</html>


Java代码
1.----------------login_success.jsp------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<html>
4.<head>
5. <title>JSP+JDBC 留言管理程序——登陆</title>
6.</head>
7.<body>
8.<center>
9. <h1>留言管理范例 —— JSP + JDBC实现</h1>
10. <hr>
11. <br>
12. <%
13. if(session.getAttribute("uname")!=null) {
14. // 用户已登陆
15. %>
16. <h2>登陆成功</h2>
17. <h2>欢迎<font color="red" size="12">
18. <%=session.getAttribute("uname")%>
19. </font>光临 留言程序</h2>
20. <h3><a href="list_notes.jsp">进入留言管理页面</a></h3>
21. <%
22. } else {
23. // 用户未登陆,提示用户登陆,并跳转
24. response.setHeader("refresh","2;URL=login.jsp") ;
25. %>
26. 您还未登陆,请先登陆!!!<br>
27. 两秒后自动跳转到登陆窗口!!!<br>
28. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
29. <%
30. }
31. %>
32.</center>
33.</body>
34.</html>
----------------login_success.jsp------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
if(session.getAttribute("uname")!=null) {
// 用户已登陆
%>
<h2>登陆成功</h2>
<h2>欢迎<font color="red" size="12">
<%=session.getAttribute("uname")%>
</font>光临 留言程序</h2>
<h3><a href="list_notes.jsp">进入留言管理页面</a></h3>
<%
} else {
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


Java代码
1.-------------------------insert.jsp------------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<html>
4.<head>
5. <title>JSP+JDBC 留言管理程序——登陆</title>
6.</head>
7.<body>
8.<center>
9. <h1>留言管理范例 —— JSP + JDBC实现</h1>
10. <hr>
11. <br>
12. <%
13. if(session.getAttribute("uname")!=null) {
14. // 用户已登陆
15. %>
16. <form action="insert_do.jsp" method="post">
17. <table>
18. <tr>
19. <td colspan="2">添加新留言</td>
20. </tr>
21. <tr>
22. <td>标题:</td>
23. <td><input type="text" name="title"></td>
24. </tr>
25. <tr>
26. <td>作者:</td>
27. <td><input type="text" name="author"></td>
28. </tr>
29. <tr>
30. <td>内容:</td>
31. <td><textarea name="content" cols="30" rows="6"></textarea></td>
32. </tr>
33. <tr>
34. <td colspan="2">
35. <input type="submit" value="添加">
36. <input type="reset" value="重置">
37. </td>
38. </tr>
39. </table>
40. </form>
41. <h3><a href="list_notes.jsp">回到留言列表页</a></h3>
42. <%
43. } else {
44. // 用户未登陆,提示用户登陆,并跳转
45. response.setHeader("refresh","2;URL=login.jsp") ;
46. %>
47. 您还未登陆,请先登陆!!!<br>
48. 两秒后自动跳转到登陆窗口!!!<br>
49. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
50. <%
51. }
52. %>
53.</center>
54.</body>
55.</html>
-------------------------insert.jsp------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
if(session.getAttribute("uname")!=null) {
// 用户已登陆
%>
<form action="insert_do.jsp" method="post">
<table>
<tr>
<td colspan="2">添加新留言</td>
</tr>
<tr>
<td>标题:</td>
<td><input type="text" name="title"></td>
</tr>
<tr>
<td>作者:</td>
<td><input type="text" name="author"></td>
</tr>
<tr>
<td>内容:</td>
<td><textarea name="content" cols="30" rows="6"></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="添加">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
<h3><a href="list_notes.jsp">回到留言列表页</a></h3>
<%
} else {
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


Java代码
1.--------------------------insert_do.jsp--------------------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<%@ page import="java.sql.*"%>
4.<html>
5.<head>
6. <title>JSP+JDBC 留言管理程序——登陆</title>
7.</head>
8.<body>
9.<center>
10. <h1>留言管理范例 —— JSP + JDBC实现</h1>
11. <hr>
12. <br>
13. <%
14. // 进行乱码处理
15. request.setCharacterEncoding("GB2312") ;
16. %>
17. <%
18. if(session.getAttribute("uname")!=null) {
19. // 用户已登陆
20. %>
21. <%!
22. String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
23. String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
24. String DBUSER = "scott" ;
25. String DBPASSWORD = "tiger" ;
26. Connection conn = null ;
27. PreparedStatement pstmt = null ;
28. %>
29. <%
30. // 声明一个boolean变量
31. boolean flag = false ;
32.
33. // 接收参数
34. String title = request.getParameter("title") ;
35. String author = request.getParameter("author") ;
36. String content = request.getParameter("content") ;
37. %>
38. <%
39. // 现在note表中的主键是sequence生成
40. String sql = "INSERT INTO note VALUES(note_sequ.nextVal,?,?,?)" ;
41. try {
42. Class.forName(DBDRIVER) ;
43. conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
44. pstmt = conn.prepareStatement(sql) ;
45. pstmt.setString(1,title) ;
46. pstmt.setString(2,author) ;
47. pstmt.setString(3,content) ;
48. pstmt.executeUpdate() ;
49. pstmt.close() ;
50. conn.close() ;
51. // 如果插入成功,则肯定能执行到此段代码
52. flag = true ;
53. } catch(Exception e) {
54. }
55. %>
56. <%
57. response.setHeader("refresh","2;URL=list_notes.jsp") ;
58. if(flag) {
59. %>
60. 留言添加成功,两秒后跳转到留言列表页!!!<br>
61. 如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
62. <%
63. } else {
64. %>
65. 留言添加失败,两秒后跳转到留言列表页!!!<br>
66. 如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
67. <%
68. }
69. %>
70. <%
71. } else {
72. // 用户未登陆,提示用户登陆,并跳转
73. response.setHeader("refresh","2;URL=login.jsp") ;
74. %>
75. 您还未登陆,请先登陆!!!<br>
76. 两秒后自动跳转到登陆窗口!!!<br>
77. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
78. <%
79. }
80. %>
81.</center>
82.</body>
83.</html>
--------------------------insert_do.jsp--------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
// 进行乱码处理
request.setCharacterEncoding("GB2312") ;
%>
<%
if(session.getAttribute("uname")!=null) {
// 用户已登陆
%>
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
String DBUSER = "scott" ;
String DBPASSWORD = "tiger" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
%>
<%
// 声明一个boolean变量
boolean flag = false ;

// 接收参数
String title = request.getParameter("title") ;
String author = request.getParameter("author") ;
String content = request.getParameter("content") ;
%>
<%
// 现在note表中的主键是sequence生成
String sql = "INSERT INTO note VALUES(note_sequ.nextVal,?,?,?)" ;
try {
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,title) ;
pstmt.setString(2,author) ;
pstmt.setString(3,content) ;
pstmt.executeUpdate() ;
pstmt.close() ;
conn.close() ;
// 如果插入成功,则肯定能执行到此段代码
flag = true ;
} catch(Exception e) {
}
%>
<%
response.setHeader("refresh","2;URL=list_notes.jsp") ;
if(flag) {
%>
留言添加成功,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
} else {
%>
留言添加失败,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
}
%>
<%
} else {
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


Java代码
1.---------------------------update.jsp-----------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<%@ page import="java.sql.*"%>
4.<html>
5.<head>
6. <title>JSP+JDBC 留言管理程序——登陆</title>
7.</head>
8.<body>
9.<center>
10. <h1>留言管理范例 —— JSP + JDBC实现</h1>
11. <hr>
12. <br>
13. <%
14. if(session.getAttribute("uname")!=null) {
15. // 用户已登陆
16. %>
17. <%!
18. String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
19. String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
20. String DBUSER = "scott" ;
21. String DBPASSWORD = "tiger" ;
22. Connection conn = null ;
23. PreparedStatement pstmt = null ;
24. ResultSet rs = null ;
25. %>
26. <%
27. // 接收参数
28. int id = 0 ;
29. try {
30. id = Integer.parseInt(request.getParameter("id")) ;
31. } catch(Exception e) {
32. }
33. %>
34. <%
35. // 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示
36. int i = 0 ;
37. String sql = "SELECT id,title,author,content FROM note WHERE id=?" ;
38. try {
39. Class.forName(DBDRIVER) ;
40. conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
41. pstmt = conn.prepareStatement(sql) ;
42. // 设置查询条件
43. pstmt.setInt(1,id) ;
44. rs = pstmt.executeQuery() ;
45. %>
46. <%
47. if(rs.next()) {
48. i++ ;
49. // 进行循环打印,打印出所有的内容,以表格形式
50. // 从数据库中取出内容
51. id = rs.getInt(1) ;
52. String title = rs.getString(2) ;
53. String author = rs.getString(3) ;
54. String content = rs.getString(4) ;
55. %>
56. <form action="update_do.jsp" method="post">
57. <table>
58. <tr>
59. <td colspan="2">添加新留言</td>
60. </tr>
61. <tr>
62. <td>标题:</td>
63. <td><input type="text" name="title" value="<%=title%>"></td>
64. </tr>
65. <tr>
66. <td>作者:</td>
67. <td><input type="text" name="author" value="<%=author%>"></td>
68. </tr>
69. <tr>
70. <td>内容:</td>
71. <td><textarea name="content" cols="30" rows="6"><%=content%></textarea></td>
72. </tr>
73. <tr>
74. <td colspan="2">
75. <input type="hidden" name="id" value="<%=id%>">
76. <input type="submit" value="更新">
77. <input type="reset" value="重置">
78. </td>
79. </tr>
80. </table>
81. </form>
82. <%
83. } else {
84. %>
85. 没有发现,要更新的内容!!<br>
86. 请确认要更新的留言是否存在!!<br>
87. <%
88. }
89. %>
90. <%
91. rs.close() ;
92. pstmt.close() ;
93. conn.close() ;
94. } catch(Exception e) {
95. }
96. %>
97. <h3><a href="list_notes.jsp">回到留言列表页</a></h3>
98. <%
99. } else {
100. // 用户未登陆,提示用户登陆,并跳转
101. response.setHeader("refresh","2;URL=login.jsp") ;
102. %>
103. 您还未登陆,请先登陆!!!<br>
104. 两秒后自动跳转到登陆窗口!!!<br>
105. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
106. <%
107. }
108. %>
109.</center>
110.</body>
111.</html>
---------------------------update.jsp-----------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
if(session.getAttribute("uname")!=null) {
// 用户已登陆
%>
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
String DBUSER = "scott" ;
String DBPASSWORD = "tiger" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
%>
<%
// 接收参数
int id = 0 ;
try {
id = Integer.parseInt(request.getParameter("id")) ;
} catch(Exception e) {
}
%>
<%
// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示
int i = 0 ;
String sql = "SELECT id,title,author,content FROM note WHERE id=?" ;
try {
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
// 设置查询条件
pstmt.setInt(1,id) ;
rs = pstmt.executeQuery() ;
%>
<%
if(rs.next()) {
i++ ;
// 进行循环打印,打印出所有的内容,以表格形式
// 从数据库中取出内容
id = rs.getInt(1) ;
String title = rs.getString(2) ;
String author = rs.getString(3) ;
String content = rs.getString(4) ;
%>
<form action="update_do.jsp" method="post">
<table>
<tr>
<td colspan="2">添加新留言</td>
</tr>
<tr>
<td>标题:</td>
<td><input type="text" name="title" value="<%=title%>"></td>
</tr>
<tr>
<td>作者:</td>
<td><input type="text" name="author" value="<%=author%>"></td>
</tr>
<tr>
<td>内容:</td>
<td><textarea name="content" cols="30" rows="6"><%=content%></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="更新">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
<%
} else {
%>
没有发现,要更新的内容!!<br>
请确认要更新的留言是否存在!!<br>
<%
}
%>
<%
rs.close() ;
pstmt.close() ;
conn.close() ;
} catch(Exception e) {
}
%>
<h3><a href="list_notes.jsp">回到留言列表页</a></h3>
<%
} else {
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


Java代码
1.-------------------------- update_do.jsp-----------------------------------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<%@ page import="java.sql.*"%>
4.<html>
5.<head>
6. <title>JSP+JDBC 留言管理程序——登陆</title>
7.</head>
8.<body>
9.<center>
10. <h1>留言管理范例 —— JSP + JDBC实现</h1>
11. <hr>
12. <br>
13. <%
14. // 进行乱码处理
15. request.setCharacterEncoding("GB2312") ;
16. %>
17. <%
18. if(session.getAttribute("uname")!=null) {
19. // 用户已登陆
20. %>
21. <%!
22. String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
23. String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
24. String DBUSER = "scott" ;
25. String DBPASSWORD = "tiger" ;
26. Connection conn = null ;
27. PreparedStatement pstmt = null ;
28. %>
29. <%
30. // 声明一个boolean变量
31. boolean flag = false ;
32.
33. // 接收参数
34. String title = request.getParameter("title") ;
35. String author = request.getParameter("author") ;
36. String content = request.getParameter("content") ;
37. int id = 0 ;
38. try {
39. id = Integer.parseInt(request.getParameter("id")) ;
40. } catch(Exception e) {
41. }
42. %>
43. <%
44. // 更新note表中的数据
45. String sql = "UPDATE note set title=?,author=?,content=? WHERE id=?" ;
46. try {
47. Class.forName(DBDRIVER) ;
48. conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
49. pstmt = conn.prepareStatement(sql) ;
50. pstmt.setString(1,title) ;
51. pstmt.setString(2,author) ;
52. pstmt.setString(3,content) ;
53. pstmt.setInt(4,id);
54. pstmt.executeUpdate() ;
55. pstmt.close() ;
56. conn.close() ;
57. // 如果修改成功,则肯定能执行到此段代码
58. flag = true ;
59. } catch(Exception e) {
60. }
61. %>
62. <%
63. response.setHeader("refresh","2;URL=list_notes.jsp") ;
64. if(flag) {
65. %>
66. 留言修改成功,两秒后跳转到留言列表页!!!<br>
67. 如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
68. <%
69. } else {
70. %>
71. 留言修改失败,两秒后跳转到留言列表页!!!<br>
72. 如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
73. <%
74. }
75. %>
76. <%
77. } else {
78. // 用户未登陆,提示用户登陆,并跳转
79. response.setHeader("refresh","2;URL=login.jsp") ;
80. %>
81. 您还未登陆,请先登陆!!!<br>
82. 两秒后自动跳转到登陆窗口!!!<br>
83. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
84. <%
85. }
86. %>
87.</center>
88.</body>
89.</html>
-------------------------- update_do.jsp-----------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
// 进行乱码处理
request.setCharacterEncoding("GB2312") ;
%>
<%
if(session.getAttribute("uname")!=null) {
// 用户已登陆
%>
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
String DBUSER = "scott" ;
String DBPASSWORD = "tiger" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
%>
<%
// 声明一个boolean变量
boolean flag = false ;

// 接收参数
String title = request.getParameter("title") ;
String author = request.getParameter("author") ;
String content = request.getParameter("content") ;
int id = 0 ;
try {
id = Integer.parseInt(request.getParameter("id")) ;
} catch(Exception e) {
}
%>
<%
// 更新note表中的数据
String sql = "UPDATE note set title=?,author=?,content=? WHERE id=?" ;
try {
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,title) ;
pstmt.setString(2,author) ;
pstmt.setString(3,content) ;
pstmt.setInt(4,id);
pstmt.executeUpdate() ;
pstmt.close() ;
conn.close() ;
// 如果修改成功,则肯定能执行到此段代码
flag = true ;
} catch(Exception e) {
}
%>
<%
response.setHeader("refresh","2;URL=list_notes.jsp") ;
if(flag) {
%>
留言修改成功,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
} else {
%>
留言修改失败,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
}
%>
<%
} else {
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


Java代码
1.----------------------delete_do.jsp--------------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<%@ page import="java.sql.*"%>
4.<html>
5.<head>
6. <title>JSP+JDBC 留言管理程序——登陆</title>
7.</head>
8.<body>
9.<center>
10. <h1>留言管理范例 —— JSP + JDBC实现</h1>
11. <hr>
12. <br>
13. <%
14. if(session.getAttribute("uname")!=null) {
15. // 用户已登陆
16. %>
17. <%!
18. String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
19. String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
20. String DBUSER = "scott" ;
21. String DBPASSWORD = "tiger" ;
22. Connection conn = null ;
23. PreparedStatement pstmt = null ;
24. %>
25. <%
26. // 接收参数
27. int id = 0 ;
28. try {
29. id = Integer.parseInt(request.getParameter("id")) ;
30. } catch(Exception e) {
31. }
32. %>
33. <%
34. String sql = "DELETE FROM note WHERE id=?" ;
35. boolean flag = false ;
36. try {
37. Class.forName(DBDRIVER) ;
38. conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
39. pstmt = conn.prepareStatement(sql) ;
40. // 设置删除条件
41. pstmt.setInt(1,id) ;
42. pstmt.executeUpdate() ;
43. pstmt.close() ;
44. conn.close() ;
45. flag = true ;
46. } catch(Exception e) {
47. }
48. %>
49. <%
50. response.setHeader("refresh","2;URL=list_notes.jsp") ;
51. if(flag) {
52. %>
53. 留言删除成功,两秒后跳转到留言列表页!!!<br>
54. 如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
55. <%
56. } else {
57. %>
58. 留言删除失败,两秒后跳转到留言列表页!!!<br>
59. 如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
60. <%
61. }
62. %>
63. <%
64. } else {
65. // 用户未登陆,提示用户登陆,并跳转
66. response.setHeader("refresh","2;URL=login.jsp") ;
67. %>
68. 您还未登陆,请先登陆!!!<br>
69. 两秒后自动跳转到登陆窗口!!!<br>
70. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
71. <%
72. }
73. %>
74.</center>
75.</body>
76.</html>
----------------------delete_do.jsp--------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>JSP+JDBC 留言管理程序——登陆</title>
</head>
<body>
<center>
<h1>留言管理范例 —— JSP + JDBC实现</h1>
<hr>
<br>
<%
if(session.getAttribute("uname")!=null) {
// 用户已登陆
%>
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
String DBUSER = "scott" ;
String DBPASSWORD = "tiger" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
%>
<%
// 接收参数
int id = 0 ;
try {
id = Integer.parseInt(request.getParameter("id")) ;
} catch(Exception e) {
}
%>
<%
String sql = "DELETE FROM note WHERE id=?" ;
boolean flag = false ;
try {
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
// 设置删除条件
pstmt.setInt(1,id) ;
pstmt.executeUpdate() ;
pstmt.close() ;
conn.close() ;
flag = true ;
} catch(Exception e) {
}
%>
<%
response.setHeader("refresh","2;URL=list_notes.jsp") ;
if(flag) {
%>
留言删除成功,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
} else {
%>
留言删除失败,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
}
%>
<%
} else {
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
<%
}
%>
</center>
</body>
</html>


Java代码
1.-----------------list_notes.jsp-------------------------------------
2.<%@ page contentType="text/html;charset=gb2312"%>
3.<%@ page import="java.sql.*"%>
4.<html>
5.<head>
6. <title>JSP+JDBC 留言管理程序——登陆</title>
7.</head>
8.<body>
9.<center>
10. <h1>留言管理范例 —— JSP + JDBC实现</h1>
11. <hr>
12. <br>
13. <%
14. // 编码转换
15. request.setCharacterEncoding("GB2312") ;
16. if(session.getAttribute("uname")!=null) {
17. // 用户已登陆
18. %>
19. <%!
20. String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
21. String DBURL = "jdbc:oracle:thin:@localhost:1521:sky" ;
22. String DBUSER = "scott" ;
23. String DBPASSWORD = "tiger" ;
24. Connection conn = null ;
25. PreparedStatement pstmt = null ;
26. ResultSet rs = null ;
27. %>
28. <%
29. // 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示
30. int i = 0 ;
31. String sql = null;
32. String keyword = request.getParameter("keyword") ;
33. // out.println(keyword) ;
34. if(keyword==null) {
35. // 没有任何查询条件
36. sql = "SELECT id,title,author,content FROM note" ;
37. } else {
38. // 有查询条件
39. sql = "SELECT id,title,author,content FROM note WHERE title like ? or author like ? or content like ?" ;
40. }
41.
42. try {
43. Class.forName(DBDRIVER) ;
44. conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
45. pstmt = conn.prepareStatement(sql) ;
46.
47. // 如果存在查询内容,则需要设置查询条件
48. if(keyword!=null) {
49. // 存在查询条件
50. pstmt.setString(1,"%"+keyword+"%") ;
51. pstmt.setString(2,"%"+keyword+"%") ;
52. pstmt.setString(3,"%"+keyword+"%") ;
53. }
54.
55. rs = pstmt.executeQuery() ;
56. %>
57.<form action="list_notes.jsp" method="POST">
58. 请输入查询内容:<input type="text" name="keyword">
59. <input type="submit" value="查询">
60.</form>
61.</h3><a href="insert.jsp">添加新留言</a></h3>
62.<table width="80%" border="1">
63. <tr>
64. <td>留言ID</td>
65. <td>标题</td>
66. <td>作者</td>
67. <td>内容</td>
68. <td>删除</td>
69. </tr>
70. <%
71. while(rs.next()) {
72. i++ ;
73. // 进行循环打印,打印出所有的内容,以表格形式
74. // 从数据库中取出内容
75. int id = rs.getInt(1) ;
76. String title = rs.getString(2) ;
77. String author = rs.getString(3) ;
78. String content = rs.getString(4) ;
79.
80. if(keyword!=null) {
81. // 需要将数据返红
82. title = title.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
83. author = author.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
84. content = content.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ;
85. }
86. %>
87. <tr>
88. <td><%=id%></td>
89. <td><a href="update.jsp?id=<%=id%>"><%=title%></a></td>
90. <td><%=author%></td>
91. <td><%=content%></td>
92. <td><a href="delete_do.jsp?id=<%=id%>">删除</a></td>
93. </tr>
94. <%
95. }
96. // 判断i的值是否改变,如果改变,则表示有内容,反之,无内容
97. if(i==0) {
98. // 进行提示
99. %>
100. <tr>
101. <td colspan="5">没有任何内容!!!</td>
102. </tr>
103. <%
104. }
105. %>
106.</table>
107. <%
108. rs.close() ;
109. pstmt.close() ;
110. conn.close() ;
111. }
112. catch(Exception e) {
113. }
114. %>
115. <%
116. } else {
117. // 用户未登陆,提示用户登陆,并跳转
118. response.setHeader("refresh","2;URL=login.jsp") ;
119. %>
120. 您还未登陆,请先登陆!!!<br>
121. 两秒后自动跳转到登陆窗口!!!<br>
122. 如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
123. <%
124. }
125. %>
126.</center>
127.</body>
128.</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值