下面是一个jsp代码,我要添加数据库,添加成功后,页面跳转到显示的页面,但添加成功后页面没跳转?

下面是一个jsp代码,我要添加数据库,添加成功后,页面跳转到显示的页面,但添加成功后页面没跳转?,第1张

那是因为,你没打跳回显示的页面代码:如,info.setnAME(request.getParameter("name"))

info.setsEX(request.getParameter("sex"))

info.setaGE(Integer.valueOf(request.getParameter("age")))

info.setrANK(request.getParameter("rank"))

info.setdEPARTMENT(request.getParameter("department"))

int count=infoImple.InsertInfo(info)

if (count>0) {

out.println("<script>")

out.println("alert(添加成功)")

out.println("location.href='getHrinfoServlte'")

out.println("</script>")

}else {

out.println("<script>")

out.println("alert(添加失败)")

out.println("</script>")

}

<!-- 将java.sql 和 java.io包引入到该文件中 -->

<%@ page import="Java.sql.*"%>

<%@ page import="Java.io.*"%>

<%@ page contentType="text/htmlcharset=UTF-8" language="Java" errorPage=""%>

把这三句改成这句:

<%@ page import="java.sql.*,java.io.*" contentType="text/htmlcharset=utf-8" pageEncoding="utf-8"

language="java" errorPage=""%>

LOGIN.JSP

<%@ page contentType="text/htmlcharset=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>

LOGIN_CONF.JSP

<%@ page contentType="text/htmlcharset=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:three"

String DBUSER= "scott"

String DBPASSWORD = "tiger"

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>

LOGIN_SUCCESS.JSP

<%@ page contentType="text/htmlcharset=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>光临MLDN留言程序</h2>

<h3><a href="list_notes.jsp">进入留言管理页面</a></h3>

<%

}

else

{

// 用户未登陆,提示用户登陆,并跳转

response.setHeader("refresh","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

INSERT.JSP

<%@ page contentType="text/htmlcharset=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","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

INSERT_DO.JSP

<%@ page contentType="text/htmlcharset=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:three"

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","2URL=list_notes.jsp")

if(flag)

{

%>

留言添加成功,两秒后跳转到留言列表页!!!<br>

如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!

<%

}

else

{

%>

留言添加失败,两秒后跳转到留言列表页!!!<br>

如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!

<%

}

%>

<%

}

else

{

// 用户未登陆,提示用户登陆,并跳转

response.setHeader("refresh","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

LIST_NOTES.JSP

<%@ page contentType="text/htmlcharset=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:three"

String DBUSER= "scott"

String DBPASSWORD = "tiger"

Connection conn= null

PreparedStatement pstmt = null

ResultSet rs= null

%>

<%

// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示

int i = 0

String sql = null

String keyword = request.getParameter("keyword")

// out.println(keyword)

if(keyword==null)

{

// 没有任何查询条件

sql = "SELECT id,title,author,content FROM note"

}

else

{

// 有查询条件

sql = "SELECT id,title,author,content FROM note WHERE title like ? or author like ? or content like ?"

}

try

{

Class.forName(DBDRIVER)

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD)

pstmt = conn.prepareStatement(sql)

// 如果存在查询内容,则需要设置查询条件

if(keyword!=null)

{

// 存在查询条件

pstmt.setString(1,"%"+keyword+"%")

pstmt.setString(2,"%"+keyword+"%")

pstmt.setString(3,"%"+keyword+"%")

}

rs = pstmt.executeQuery()

%>

<form action="list_notes.jsp" method="POST">

请输入查询内容:<input type="text" name="keyword">

<input type="submit" value="查询">

</form>

<h3><a href="insert.jsp">添加新留言</a></h3>

<table width="80%" border="1">

<tr>

<td>留言ID</td>

<td>标题</td>

<td>作者</td>

<td>内容</td>

<td>删除</td>

</tr>

<%

while(rs.next())

{

i++

// 进行循环打印,打印出所有的内容,以表格形式

// 从数据库中取出内容

int id = rs.getInt(1)

String title = rs.getString(2)

String author = rs.getString(3)

String content = rs.getString(4)

if(keyword!=null)

{

// 需要将数据返红

title = title.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>")

author = author.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>")

content = content.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>")

}

%>

<tr>

<td><%=id%></td>

<td><a href="update.jsp?id=<%=id%>"><%=title%></a></td>

<td><%=author%></td>

<td><%=content%></td>

<td><a href="delete_do.jsp?id=<%=id%>">删除</a></td>

</tr>

<%

}

// 判断i的值是否改变,如果改变,则表示有内容,反之,无内容

if(i==0)

{

// 进行提示

%>

<tr>

<td colspan="5">没有任何内容!!!</td>

</tr>

<%

}

%>

</table>

<%

rs.close()

pstmt.close()

conn.close()

}

catch(Exception e)

{}

%>

<%

}

else

{

// 用户未登陆,提示用户登陆,并跳转

response.setHeader("refresh","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

UPDATE.JSP

<%@ page contentType="text/htmlcharset=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:three"

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","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

UPDATE_DO.JSP

<%@ page contentType="text/htmlcharset=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:three"

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","2URL=list_notes.jsp")

if(flag)

{

%>

留言修改成功,两秒后跳转到留言列表页!!!<br>

如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!

<%

}

else

{

%>

留言修改失败,两秒后跳转到留言列表页!!!<br>

如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!

<%

}

%>

<%

}

else

{

// 用户未登陆,提示用户登陆,并跳转

response.setHeader("refresh","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

DELETE_DO.JSP

<%@ page contentType="text/htmlcharset=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:three"

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","2URL=list_notes.jsp")

if(flag)

{

%>

留言删除成功,两秒后跳转到留言列表页!!!<br>

如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!

<%

}

else

{

%>

留言删除失败,两秒后跳转到留言列表页!!!<br>

如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!

<%

}

%>

<%

}

else

{

// 用户未登陆,提示用户登陆,并跳转

response.setHeader("refresh","2URL=login.jsp")

%>

您还未登陆,请先登陆!!!<br>

两秒后自动跳转到登陆窗口!!!<br>

如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>

<%

}

%>

</center>

</body>

</html>

-- 创建表

-- 用户表(登陆)、留言表

-- 删除表

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 ('LXH','李兴华','zzzzzz')

INSERT INTO person VALUES ('MLDN','魔乐','mmmmmm')

-- 事务提交

commit


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11800755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存