`

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

阅读更多
案例-jsp+DAO实现留言管理程序
----------------Note.java------------------------
package org.sky.darkness.note.vo ;

public class Note {
	private int id ;
	private String title ;
	private String author ;
	private String content ;

	public void setId(int id) {
		this.id = id ;
	}
	public void setTitle(String title) {
		this.title = title ;
	}
	public void setAuthor(String author) {
		this.author = author ;
	}
	public void setContent(String content) {
		this.content = content ;
	}

	public int getId() {
		return this.id ;
	}
	public String getTitle() {
		return this.title ;
	}
	public String getAuthor() {
		return this.author ;
	}
	public String getContent() {
		return this.content ;
	}
};

----------------------Person.java--------------------------
package org.sky.darkness.note.vo ;

public class Person
{
	private String id ;
	private String name ;
	private String password ;

	public void setId(String id) {
		this.id = id ;
	}
	public void setName(String name) {
		this.name = name ;
	}
	public void setPassword(String password) {
		this.password = password ;
	}

	public String getId() {
		return this.id ;
	}
	public String getName() {
		return this.name ;
	}
	public String getPassword() {
		return this.password ;
	}
};

----------------NoteDAO.java-------------
package org.sky.darkness.note.dao ;

import java.util.* ;
import org.sky.darkness.note.vo.* ;

public interface NoteDAO
{
	// 增加操作
	public void insert(Note note) throws Exception ;
	// 修改操作
	public void update(Note note) throws Exception ;
	// 删除操作
	public void delete(int id) throws Exception ;
	// 按ID查询,主要为更新使用
	public Note queryById(int id) throws Exception ;
	// 查询全部
	public List queryAll() throws Exception ;
	// 模糊查询
	public List queryByLike(String cond) throws Exception ;
};

----------------------------PersonDAO.java-----------------------------------
package org.sky.darkness.note.dao ;

import org.sky.darkness.note.vo.* ;

public interface PersonDAO {
	// 做登陆验证
	public boolean login(Person person) throws Exception ;
};

---------------- PersonDAOImpl.java--------------
package org.sky.darkness.note.dao.impl ;

import java.sql.* ;
import org.sky.darkness.note.vo.* ;
import org.sky.darkness.note.dbc.* ;
import org.sky.darkness.note.dao.* ;

public class PersonDAOImpl implements PersonDAO
{
	/*
		功能:
			• 判断是否是正确的用户名或密码
			• 从数据库中取出用户的真实姓名
	*/
	public boolean login(Person person) throws Exception {
		boolean flag = false ;
		String sql = "SELECT name FROM person WHERE id=? and password=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setString(1,person.getId()) ;
			pstmt.setString(2,person.getPassword()) ;
			ResultSet rs = pstmt.executeQuery() ;
			if (rs.next()) {
				flag = true ;
				person.setName(rs.getString(1)) ;
			}
			rs.close() ;
			pstmt.close() ;
		} catch (Exception e) {
			throw new Exception("操作出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
		
		return flag ;
	}
};


------------- NoteDAOImpl.java-------------------------------------
package org.sky.darkness.note.dao.impl ;

import java.sql.* ;
import java.util.* ;
import org.sky.darkness.note.vo.* ;
import org.sky.darkness.note.dao.* ;
import org.sky.darkness.note.dbc.* ;

public class NoteDAOImpl implements NoteDAO {
	// 增加操作
	public void insert(Note note) throws Exception {
		String sql = "INSERT INTO note(id,title,author,content) VALUES(note_sequ.nextVal,?,?,?)" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setString(1,note.getTitle()) ;
			pstmt.setString(2,note.getAuthor()) ;
			pstmt.setString(3,note.getContent()) ;
			pstmt.executeUpdate() ;
			pstmt.close() ;
		} catch (Exception e) {
			// System.out.println(e) ;
			throw new Exception("操作中出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
	}
	// 修改操作
	public void update(Note note) throws Exception {
		String sql = "UPDATE note SET title=?,author=?,content=? WHERE id=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setString(1,note.getTitle()) ;
			pstmt.setString(2,note.getAuthor()) ;
			pstmt.setString(3,note.getContent()) ;
			pstmt.setInt(4,note.getId()) ;
			pstmt.executeUpdate() ;
			pstmt.close() ;
		} catch (Exception e) {
			throw new Exception("操作中出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
	}
	// 删除操作
	public void delete(int id) throws Exception {
		String sql = "DELETE FROM note WHERE id=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setInt(1,id) ;
			pstmt.executeUpdate() ;
			pstmt.close() ;
		} catch (Exception e) {
			throw new Exception("操作中出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
	}
	// 按ID查询,主要为更新使用
	public Note queryById(int id) throws Exception {
		Note note = null ;
		String sql = "SELECT id,title,author,content FROM note WHERE id=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setInt(1,id) ;
			ResultSet rs = pstmt.executeQuery() ;
			if(rs.next()) {
				note = new Note() ;
				note.setId(rs.getInt(1)) ;
				note.setTitle(rs.getString(2)) ;
				note.setAuthor(rs.getString(3)) ;
				note.setContent(rs.getString(4)) ;
			}
			rs.close() ;
			pstmt.close() ;
		} catch (Exception e) {
			throw new Exception("操作中出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
		return note ;
	}
	// 查询全部
	public List queryAll() throws Exception {
		List all = new ArrayList() ;
		String sql = "SELECT id,title,author,content FROM note" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			ResultSet rs = pstmt.executeQuery() ;
			while(rs.next()) {
				Note note = new Note() ;
				note.setId(rs.getInt(1)) ;
				note.setTitle(rs.getString(2)) ;
				note.setAuthor(rs.getString(3)) ;
				note.setContent(rs.getString(4)) ;
				all.add(note) ;
			}
			rs.close() ;
			pstmt.close() ;
		} catch (Exception e) {
			System.out.println(e) ;
			throw new Exception("操作中出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
		return all ;
	}
	// 模糊查询
	public List queryByLike(String cond) throws Exception {
		List all = new ArrayList() ;
		String sql = "SELECT id,title,author,content FROM note WHERE title LIKE ? or AUTHOR LIKE ? or CONTENT LIKE ?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;
		dbc = new DataBaseConnection() ;
		try {
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setString(1,"%"+cond+"%") ;
			pstmt.setString(2,"%"+cond+"%") ;
			pstmt.setString(3,"%"+cond+"%") ;
			ResultSet rs = pstmt.executeQuery() ;
			while(rs.next()) {
				Note note = new Note() ;
				note.setId(rs.getInt(1)) ;
				note.setTitle(rs.getString(2)) ;
				note.setAuthor(rs.getString(3)) ;
				note.setContent(rs.getString(4)) ;
				all.add(note) ;
			}
			rs.close() ;
			pstmt.close() ;
		} catch (Exception e) {
			System.out.println(e) ;
			throw new Exception("操作中出现错误!!!") ;
		} finally {
			dbc.close() ;
		}
		return all ;
	}
};

----------- DAOFactory .java------------------------------------------------
package org.sky.darkness.note.factory ;

import org.sky.darkness.note.dao.* ;
import org.sky.darkness.note.dao.impl.* ;

public class DAOFactory {
	public static PersonDAO getPersonDAOInstance() {
		return new PersonDAOImpl() ;
	}

	public static NoteDAO getNoteDAOInstance() {
		return new NoteDAOImpl() ;
	}
};

----------- DataBaseConnection .java-----------------------------------------------
package org.sky.darkness.note.dbc ;

import java.sql.* ;

public class DataBaseConnection {
	private String DBDRIVER			= "oracle.jdbc.driver.OracleDriver" ;
	private String DBURL			= "jdbc:oracle:thin:@localhost:1521:sky" ;
	private String DBUSER			= "scott" ;
	private String DBPASSWORD		= "darkness" ;
	private Connection conn			= null ;

	public DataBaseConnection() {
		try {
			Class.forName(DBDRIVER) ;
			this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
		} catch (Exception e) {
		}
	}

	public Connection getConnection() {
		return this.conn ;
	}

	public void close() {
		try {
			this.conn.close() ;
		}
		catch (Exception e) {
		}
	}
};

------------脚本.sql-------------------------------------------------
-- 创建表
-- 用户表(登陆)、留言表

-- 删除表
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','cloud','mmmmmm') ;

-- 事务提交
commit ;

-------------------------login.jsp--------------------------------------------

<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</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>密&nbsp;&nbsp;码:</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/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</h1>
	<hr>
	<br>
	<jsp:useBean id="person" scope="page" class="org.sky.darkness.note.vo.Person"/>
	<jsp:setProperty name="person" property="*"/>
	<%
	try
	{
		// 跳转
		if(DAOFactory.getPersonDAOInstance().login(person))
		{
			// 设置用户姓名到session范围之中
			session.setAttribute("uname",person.getName()) ;
			// 用户合法
	%>
			<jsp:forward page="login_success.jsp"/>
	<%
		}
		else
		{
			// 用户非法
	%>
			<jsp:forward page="login.jsp"/>
	<%
		}
	}
	catch(Exception e)
	{}
	%>
</center>
</body>
</html>

------------------login_success.jsp------------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</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>

------------------------insert.jsp------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</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>

--------------------insert_do.jsp---------------------------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</h1>
	<hr>
	<br>
	<%
		// 进行乱码处理
		request.setCharacterEncoding("GB2312") ;
	%>
	<%
		if(session.getAttribute("uname")!=null)
		{
			// 用户已登陆
	%>
	<jsp:useBean id="note" scope="page" class="org.sky.darkrness.note.vo.Note"/>
	<jsp:setProperty name="note" property="*"/>
	
	<%
			response.setHeader("refresh","2;URL=list_notes.jsp") ;
			try
			{
				DAOFactory.getNoteDAOInstance().insert(note) ;
	%>
				留言添加成功,两秒后跳转到留言列表页!!!<br>
				如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
	<%
			}
			catch(Exception e)
			{
	%>
				留言添加失败,两秒后跳转到留言列表页!!!<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>

-------------------update.jsp-------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<%@ page import="org.sky.darkness.note.vo.*"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</h1>
	<hr>
	<br>
	<%
		// 进行乱码处理
		request.setCharacterEncoding("GB2312") ;
	%>
	<%
		if(session.getAttribute("uname")!=null)
		{
			// 用户已登陆
	%>		
	<%
		// 接收参数
		int id = 0 ;
		try
		{
			id = Integer.parseInt(request.getParameter("id")) ;
		}
		catch(Exception e)
		{}
	%>
	<%
		Note note = null ;
		try
		{
			note = DAOFactory.getNoteDAOInstance().queryById(id) ;
		}
		catch(Exception e)
		{}
	%>
	<%
			if(note!=null)
			{
				id = note.getId() ;
				String title = note.getTitle() ;
				String author = note.getAuthor() ;
				String content = note.getContent() ;
	%>
	<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>
	<%
			}
	%>
	<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>

-----------------------------update_do.jsp--------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</h1>
	<hr>
	<br>
	<%
		// 进行乱码处理
		request.setCharacterEncoding("GB2312") ;
	%>
	<jsp:useBean id="note" scope="page" class="org.sky.darkness.note.vo.Note"/>
	<jsp:setProperty name="note" property="*"/>
	<%
		if(session.getAttribute("uname")!=null)
		{
			// 用户已登陆
	%>
	
	<%
			response.setHeader("refresh","2;URL=list_notes.jsp") ;
			try
			{
				DAOFactory.getNoteDAOInstance().update(note) ;
	%>
				留言修改成功,两秒后跳转到留言列表页!!!<br>
				如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
	<%
			}
			catch(Exception e)
			{
	%>
				留言修改失败,两秒后跳转到留言列表页!!!<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>

-------------------------list_notes.jsp--------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<%@ page import="org.sky.darkness.note.factory.*"%>
<%@ page import="org.sky.darkness.note.vo.*"%>
<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</h1>
	<hr>
	<br>
	<%
		// 编码转换
		request.setCharacterEncoding("GB2312") ;
		if(session.getAttribute("uname")!=null)
		{
			// 用户已登陆
	%>
	<%
		// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示
		int i = 0 ;
		String sql = null; 
		String keyword = request.getParameter("keyword") ;
		List all = null ;
		try
		{
			if(keyword==null)
			{
				all = DAOFactory.getNoteDAOInstance().queryAll() ;
			}
			else
			{
				// 有查询条件
				all = DAOFactory.getNoteDAOInstance().queryByLike(keyword) ;
			}
		}
		catch(Exception e)
		{
			System.out.println(e) ;
		}
	%>
<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>
	<%
			Iterator iter = all.iterator() ;
			while(iter.hasNext())
			{
				Note note = (Note)iter.next() ;
				i++ ;
				// 进行循环打印,打印出所有的内容,以表格形式
				// 从数据库中取出内容
				int id = note.getId() ;
				String title = note.getTitle() ;
				String author = note.getAuthor() ;
				String content = note.getContent() ;

				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>

	<%
		}
		else
		{
			// 用户未登陆,提示用户登陆,并跳转
			response.setHeader("refresh","2;URL=login.jsp") ;
	%>
			您还未登陆,请先登陆!!!<br>
			两秒后自动跳转到登陆窗口!!!<br>
			如果没有跳转,请按<a href="login.jsp">这里</a>!!!<br>
	<%
		}
	%>
</center>
</body>
</html>

------------------------delete_do.jsp-----------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="org.sky.darkness.note.factory.*"%>

<html>
<head>
	<title>JSP+DAO 留言管理程序——登陆</title>
</head>
<body>
<center>
	<h1>留言管理范例 —— JSP + DAO实现</h1>
	<hr>
	<br>
	<%
		if(session.getAttribute("uname")!=null)
		{
			// 用户已登陆
	%>	
	
	<%
		// 接收参数
		int id = 0 ;
		try
		{
			id = Integer.parseInt(request.getParameter("id")) ;
		}
		catch(Exception e)
		{}
	%>
	<%
			response.setHeader("refresh","2;URL=list_notes.jsp") ;
			try
			{
				DAOFactory.getNoteDAOInstance().delete(id) ;
	%>
				留言删除成功,两秒后跳转到留言列表页!!!<br>
				如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
	<%
			}
			catch(Exception e)
			{
	%>
				留言删除失败,两秒后跳转到留言列表页!!!<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>

分享到:
评论

相关推荐

    JSP+DAO留言管理程序(代码+笔记)

    《JSP+DAO留言管理程序详解》 在IT领域,JSP(Java Server Pages)与DAO(Data Access Object)模式的结合是常见的Web应用程序开发方式,尤其在构建动态网站时,如留言管理系统。本篇文章将深入探讨这个基于JSP+DAO...

    MVC+DAO_留言管理程序(代码+笔记).

    在" MVC+DAO_留言管理程序"中,我们可以推测这是一个使用Java技术栈实现的Web应用,它采用了MVC设计模式来组织代码结构,同时利用DAO模式来处理数据存取。下面将详细阐述这两个关键知识点: 1. **MVC模式的组成部分...

    JSP复习笔记——第11章 JSP 构架和MVC设计模式

    案例中的“mvc+dao实现留言管理程序”可能就是通过DAO类与数据库交互,获取或保存留言数据,实现了模型层的功能。 2. **视图(View)**:视图层主要负责显示数据,通常由HTML、CSS和JavaScript组成。在JSP中,我们...

    李兴华-案例-jsp+DAO实现留言管理程序代码及笔记

    【李兴华-案例-jsp+DAO实现留言管理程序代码及笔记】 本案例主要探讨了如何使用JavaServer Pages(JSP)与Data Access Object(DAO)模式来构建一个留言管理系统。这种技术组合在Web开发中常见,用于创建动态、数据...

    jsp+jdbc——留言管理程序(简单版)

    【jsp+jdbc——留言管理程序(简单版)】 在Web开发中,JSP(JavaServer Pages)和JDBC(Java Database Connectivity)是两种常见的技术,它们在构建动态网站时起着至关重要的作用。本程序利用DAO(Data Access ...

    JSP七个小项目代码和笔记汇总(java web).rar_Jsp/Servlet_java dao小项目_jsp_jsp小项目

    项目03_JSP+DAO留言管理程序(代码+笔记) 项目04_使用JSP基于数据库完成用户登陆(代码+笔记) 项目05_MVC+DAO_留言管理程序(代码+笔记) 项目06_使用JSP+DAO完成用户登陆(代码+笔记) 项目07_使用MVC+DAO完成用户登陆...

    JSP+DAO和MVC+DAO(基于MySQL数据库分页)-v笔记

    总结来说,这个笔记讨论了如何在JSP和MVC两种不同的架构下,结合DAO模式实现MySQL数据库的分页功能,强调了代码封装和模块化的重要性,以及MVC模式在提高代码可读性和可维护性上的优势。在实际开发中,理解并熟练...

    JSP DAO留言管理代码实例 笔记.rar

    **JSP DAO留言管理代码实例详解** 在Java Web开发中,JSP(JavaServer Pages)是一种常见的技术,用于创建动态网页。DAO(Data Access Object)设计模式是软件工程中的一个常用模式,它提供了数据访问的抽象层,...

    JSP七个小项目源码和笔记汇总

    项目03_JSP+DAO留言管理程序(源码+笔记) 项目04_使用JSP基于数据库完成用户登陆(源码+笔记) 项目05_MVC+DAO_留言管理程序(源码+笔记) 项目06_使用JSP+DAO完成用户登陆(源码+笔记) 项目07_使用MVC+DAO完成用户登陆...

    JSP七个小项目代码和笔记汇总(java web).rar

    JSP七个小项目代码和笔记汇总(java web),包括项目01_JSP+JDBC留言管理程序(代码+笔记),项目02_使用JSP完成简单的登陆程序(代码+笔记),项目03_JSP+DAO留言管理程序(代码+笔记),项目04_使用JSP基于数据库完成用户...

    JSP七个小项目代码笔记精品汇总

    项目03_JSP+DAO留言管理程序(代码+笔记) 项目04_使用JSP基于数据库完成用户登陆(代码+笔记) 项目05_MVC+DAO_留言管理程序(代码+笔记) 项目06_使用JSP+DAO完成用户登陆(代码+笔记) 项目07_使用MVC+DAO完成用户登陆...

    7个 JSP小项目源代码和笔记资料汇总 项目总结 开发经验

     项目03_JSP+DAO留言管理程序(代码+笔记)  项目04_使用JSP基于数据库完成用户登陆(代码+笔记)  项目05_MVC+DAO_留言管理程序(代码+笔记)  项目06_使用JSP+DAO完成用户登陆(代码+笔记)  项目07_使用MVC+DAO...

    留言管理程序_使用Struts + DAO + Hibernate完成笔记

    【标题】:基于Struts、DAO与Hibernate的留言管理程序实现 在开发Web应用程序时,高效的数据管理和用户交互是至关重要的。"留言管理程序_使用Struts + DAO + Hibernate完成笔记"这一项目就展示了如何利用这三种技术...

    留言管理程序_使用Struts + DAO完成笔记

    【标题】:基于Struts和DAO的留言管理程序开发 【描述】:本文将详细介绍如何利用Struts框架和DAO设计模式来实现一个留言管理程序。这个程序旨在展示如何有效地处理用户提交的留言,并通过数据库存储和检索这些信息...

    使用JSP基于数据库完成用户登陆(代码+笔记)_java_

    在本项目中,我们将探讨如何使用Java Server Pages (JSP)技术来实现一个基于数据库的用户登录系统。这个系统的核心是通过JSP页面与后台数据库交互,验证用户的用户名和密码,确保只有合法用户能够访问受保护的资源。...

    留言管理程序_使用Struts + DAO + Hibernate完成笔记.zip

    :“留言管理程序”是一个基于Web的项目,它采用了经典的MVC(Model-View-Controller)设计模式中的Struts框架,同时结合了DAO(Data Access Object)设计模式和Hibernate ORM(对象关系映射)工具来实现数据的持久...

    收集几个JSP开源小项目源码及笔记汇总.rar

    收集几个JSP开源小项目源码及学习笔记汇总,主要是JSP JDBC实现留言管理范例、基于数据库的登陆程序、SP DAO完成用户登陆、MVC DAO完成用户登陆、MVC DAO_留言管理程序、JSP完成简单的登陆程序(代码 笔记)、JSP DAO...

    JSP七个小项目代码和笔记汇总(java+web)

    5. **项目03_JSP+DAO留言管理程序(代码+笔记)** 同样是留言管理,但此项目中DAO层被用来处理数据库操作,与JSP的职责分离更明确。这有助于理解DAO模式在实际项目中的作用和实现方法。 6. **项目04_使用JSP基于...

    JSP七个小项目代码和笔记汇总(java web).zip

    1. **项目01_JSP+JDBC留言管理程序**:这个项目演示了如何使用JSP页面与Java Database Connectivity (JDBC) API直接交互,实现用户留言的添加、查看和删除功能。JSP页面负责用户界面,而后台使用JDBC连接数据库,...

Global site tag (gtag.js) - Google Analytics