一、实验目的
实现留言的删除、更新,并且要求有session的会话。
二、实验内容
1.对用户是否登陆作出验证,未登陆自动跳转回登陆页面
2.获得要修改的记录(通过list_notes.jsp中传递过来的id)
3.将记录按id查询出来填写在表单中,并继续向updatemessage.jsp进行传递(通过隐藏表单,目的是不暴露给用户)
4.对数据库进行删除操作(通过message.jsp中传递过来的id ),成功则设置ok
5.删除成功或失败提示,并3秒钟自动跳转回message.jsp
三、实验成果(对应实验内容的jsp代码)
Update.jsp
<%@ page language=“java” contentType=“text/html; charset=gb2312”%>
<%@page import=“java.sql.*” %>
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,pwd);
PreparedStatement pstmt = conn.prepareStatement
("select * from message where id=?");
pstmt.setInt(1,id);
ResultSet rs = pstmt.executeQuery();
if(rs.next())
{
%>
<form action="updatemessage.jsp">
作者:<input type="text" name="author" value="<%=rs.getString("author")%>"/><br>
题目:<input type="text" name="title" value=<%=rs.getString("title")%>/><br>
留言:<textarea name="content" rows=7 ><%=rs.getString("content")%></textarea><p>
<input type="hidden" name=id value="<%=id %>"/>
<input type=submit value="提交"/>
<input type=reset value="重写"/>
</form>
<% }}
catch(Exception e)
{
e.printStackTrace();
}
}
else
{
response.setHeader("refresh","3;url=login.html");
%>
你还没有登录,请登录!3秒内跳转回登录页面!
<%}
%>
Updatemessage.jsp
<%@ page language=“java” contentType=“text/html; charset=gb2312”%>
<%@page import=“java.sql.*”%>
String title = request.getParameter("title");
String name = request.getParameter("author");
String content = request.getParameter("content");
try {
int id = Integer.parseInt(request.getParameter("id"));
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user,
pwd);
PreparedStatement pstmt = conn
.prepareStatement("update message set author=?,title=?,content=? where id=?");
pstmt.setString(1, name);
pstmt.setString(2, title);
pstmt.setString(3, content);
pstmt.setInt(4, id);
pstmt.executeUpdate();
ok = true;
} catch (Exception e) {
e.printStackTrace();
}
if (ok) {
%>
修改留言成功,3秒后跳转!
<%
response.setHeader("refresh", "3;url=message.jsp");
} else {
%>
修改失败!
<%
response.setHeader("refresh", "3;url=message.jsp");
}
} else {
response.setHeader("refresh", "3;url=login.html");
%>
你还没有登录,请登录!3秒内跳转回登录页面!
<%
}
%>
</body>
Delete.jsp
<%@ page language=“java” contentType=“text/html; charset=gb2312”%>
<%@page import=“java.sql.*” %>
if(ok)
{
%>
删除留言成功,3秒后跳转!
<%
response.setHeader("refresh","3;url=message.jsp");
}
else
{%>
删除失败!
<%
response.setHeader("refresh","3;url=message.jsp");
}}
else
{
response.setHeader("refresh","3;url=login.html");
%>
你还没有登录,请登录!3秒内跳转回登录页面!
<%}%>
四、运行结果
图1.修改留言内容
图2.修改成功
图3.修改成功后得留言板
图4.删除成功
图5.删除成功后的留言板