第一步:在myeclipse中导入数据库

CREATE TABLE `note` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(20) NOT NULL,`author` varchar(20) NOT NULL,`content` varchar(50) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of note
-- ----------------------------
INSERT INTO `note` VALUES ('1', 'Hello', '灏忔槑', '鎴戣灏忔槑锛屼綘濂�);
INSERT INTO `note` VALUES ('2', '鍡摷', '灏忕孩', '浠婂ぉ鎸戣捣寰堢碂绯�);
CREATE TABLE `person` (`id` varchar(20) NOT NULL,`name` varchar(20) DEFAULT NULL,`password` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of person
-- ----------------------------
INSERT INTO `person` VALUES ('aaa', 'AA', '111');
INSERT INTO `person` VALUES ('red', '小红', '123');
INSERT INTO `person` VALUES ('小明', '大明', '111');

第二步:登录界面(index.jsp)

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>留言管理管理系统的登录界面</title></head><body><%//判断是否有错误,若有,就打印显示if(request.getAttribute("err")!=null){%><font color="red">提示:<%= request.getAttribute("err")%></font><%}%><form action="dologin.jsp" method="get"><table cellpadding="0" cellspacing="0" border="0"><tr><td>用户名:</td><td><input type="text" name="id"/></td></tr><tr><td>密   码:</td><td><input type="password" name="password"/></td></tr><tr><td><input type="submit" value="登录"/></td><td><input type="reset" value="重置"/></td></tr></table></form></body>
</html>

第三步:处理登录界面(如果用户名和密码正确就进入“登录成功页面”,否则,返回登录界面,出现提示信息)

<%@page import="java.sql.ResultSet"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@ page import="java.sql.* ,com.bright.util.*"%>
<html><head><title>处理登录界面</title></head><body><%!Connection conn       =null;//创建连接PreparedStatement stat=null;//预处理命令ResultSet rs          =null;//结果集%><%//声明一个boolean类型的参数,用于保存用户的合法状态的boolean flag=false;//接受参数String id=request.getParameter("id");   //先获取表单中的nameString password=request.getParameter("password");//先获取表单中的密码%><%String sql="select name from person where id=? and password=?";try{conn = Util.getConnection();//创建连接(通过Util类)stat = conn.prepareStatement(sql);stat.setString(1, id);stat.setString(2, password); rs=stat.executeQuery(); //将查询到的结果放在结果集中//如果查询到了if(rs.next()){flag=true;String uname=rs.getString("name");//session.setAttribute("sessionName",Object);用来设置session值的,sessionName是名称,object是你要保存的对象。session.setAttribute("uname",uname);//将name保存在名为uname的session中}else{//保存错误信息request.setAttribute("err", "用户名或者密码错误");}rs.close();//关闭结果集stat.close();//关闭预处理命令conn.close();//关闭连接}catch(Exception e){e.printStackTrace();}%><%//判断了之后进行页面跳转,为true就跳转到成功的界面,否则返回登录界面if(flag){//用户合法%><jsp:forward page="login_success.jsp"></jsp:forward>    <%}else{//用户非法%><jsp:forward page="index.jsp"></jsp:forward><%}%></body>
</html>

第四步:登录成功页面

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>My JSP 'login_success.jsp' starting page</title></head><body><center><%//如果session中的uname不为空,则可以查看下面的内容,这样可以防止非法登录if(session.getAttribute("uname")!=null){%><h1>恭喜<%=session.getAttribute("uname") %>登录成功!</h1>进入<a href="list_note.jsp">留言区</a><% }else{//一秒刷新页面一次 response.setHeader("refresh","1");//二秒跳到其它页面 response.setHeader("refresh","2;URL=otherPagename");response.setHeader("refresh","2;URL=index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%}%></center></body>
</html>

第五步:进入留言页面(可以在这个页面中进行增删留言,查询留言)

<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*,com.bright.util.Util"%>
<html>
<head><title>留言管理</title>
</head>
<body>
<center>
<!-- center可以让内容居中显示 --><h1>留言管理</h1><hr><br/><!-- 判断用户是否登录 --><%request.setCharacterEncoding("utf-8");//如果session中存储的uname不为空,就可以进入留言管理系统if(session.getAttribute("uname")!=null){//用户已经登录%><%//连接数据库Connection conn        =null;PreparedStatement stat =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 * from note";}else{//有查询条件sql="select * from note where title like ? or author like ? or content like ? ";}try{//连接数据库conn=Util.getConnection();stat=conn.prepareStatement(sql);//如果存在查询内容,就要设置查询条件if(keyword!=null){//存在查询条件,就存储到结果集中stat.setString(1, "%"+keyword+"%");stat.setString(2, "%"+keyword+"%");stat.setString(3, "%"+keyword+"%");}//PS:如果这一句放在上面的括号中,就什么内容也查询不到rs=stat.executeQuery(); //将查询到的结果放到结果集中%><form action="list_note.jsp" method="post">请输入查询的内容:<input type="text" name="keyword"><input type="submit" value="查询">     </form><a href=""insert.jsp>添加新留言</a><table border="1" cellpading=0 cellspacing=0 width="80%"><tr><th>留言ID</th><th>标题</th><th>作者</th><th>内容</th><th>操作</th></tr><% //如果rs中查询到了下一条,就进行循环打印所有的结果while(rs.next()){i++;//不要写掉了//从数据库中取出内容int id=rs.getInt("id");String title=rs.getString("title");String author=rs.getString("author");String content=rs.getString("content");if(keyword!=null){//如果查询的内容不为空,就将数据用红色显示出来title = title.replaceAll(keyword,"<font color='red'>"+keyword+"</font>");//PS:不要把keyword卸载引号里面了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> <!-- 根据id可以更新   --><td><%=author%></td><td><%=content%></td><td><a href="delete.jsp?id=<%=id %>">删除</a></td></tr><%  }//判断i的值是否改变,如果改变,则表示有内容if(i==0)        {//进行提示%><tr><td colspan="5'">没有任何内容!!!</td></tr><%}%></table><%//关闭集合rs.close();//关闭预处理stat.close();//关闭连接conn.close();}catch(Exception e){}%><!-- 用户未登录 --><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh", "2;url='index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%}%>
</center>
</body>
</html>

第六步:
①删除留言信息

<%@page import="java.sql.*"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@page import="com.bright.util.Util" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>根据id删除信息的页面</title></head><body><center><!-- 线判断用户是否登录 --><%request.setCharacterEncoding("utf-8");if(session.getAttribute("uname")!=null){//用户已登录%><%//连接数据库Connection conn       =null;PreparedStatement stat=null;%><%//声明一个boolean变量boolean flag=false;//接收参数int id=0;try{id=Integer.parseInt(request.getParameter("id"));}catch(Exception e){}%><%//更新数据库中的数据String sql="delete from note where id=?";try{conn=Util.getConnection();stat=conn.prepareStatement(sql);//设置删除的条件stat.setInt(1, id);//将查询到的结果方法放在结果集中stat.executeUpdate();//关闭连接stat.close();conn.close();//如果修改成功,就会执行这一句,将flag还为trueflag=true;}catch(Exception e){}%><%response.setHeader("refresh", "2;url=list_note.jsp");if(flag){%>留言删除成功,两秒后跳转到留言管理<br/>如果没有跳转,点击<a href="list_note.jsp">这里</a><%}else{%>留言删除失败,两秒后跳转到留言管理<br/>如果没有跳转,点击<a href="list_note.jsp">这里</a><% }%><%}else{//用户还未登录,显示提示信息response.setHeader("refresh", "2;url=index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%      }%></center></body>
</html>

第七步:
①增加留言信息:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>添加新留言</title></head><body><%//判断是否登录if(session.getAttribute("uname")!=null){//用户已经登录%><form action="do_insert.jsp" method="post"><table border="1" cellpading=0 cellspacing=0 width="80%"><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><input type="text" name="content"/></td></tr><tr><td colspan="2"><input type="submit" value="添加"><input type="reset" value="重置"></td></tr></table></form><h3><a href="list_note.jsp">回到留言列表页</a></h3><%}else{//用户还未登录,显示提示信息response.setHeader("refresh", "2;url=index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%      }%></body>
</html>

②处理增加:

<%@page import="java.sql.*"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@page import="com.bright.util.Util" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>处理修改信息的页面</title></head><body><center><!-- 线判断用户是否登录 --><%request.setCharacterEncoding("utf-8");if(session.getAttribute("uname")!=null){//用户已登录%><%//连接数据库Connection conn       =null;PreparedStatement stat=null;%><%//声明一个boolean变量boolean flag=false;//接收参数String title=request.getParameter("title");String author=request.getParameter("author");String content=request.getParameter("content");%><%//更新数据库中的数据     null代表的是id,因为数据库中设置的是自增长,不用赋值String sql="insert into note values(null,?,?,?)";try{conn=Util.getConnection();stat=conn.prepareStatement(sql);//设置查询的条件stat.setString(1, title);stat.setString(2, author);stat.setString(3, content);//将查询到的结果方法哦结果集中stat.executeUpdate();//关闭连接stat.close();conn.close();//如果修改成功,就会执行这一句,将flag还为trueflag=true;}catch(Exception e){}%><%response.setHeader("refresh", "2;url=list_note.jsp");if(flag){%>留言添加成功,两秒后跳转到留言管理<br/>如果没有跳转,点击<a href="list_note.jsp">这里</a><%}else{%>留言添加失败,两秒后跳转到留言管理<br/>如果没有跳转,点击<a href="list_note.jsp">这里</a><% }%><%}else{//用户还未登录,显示提示信息response.setHeader("refresh", "2;url=index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%      }%></center></body>
</html>

第八步:
①根据id更新信息:

<%@page import="java.sql.*"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@page import="com.bright.util.Util" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>点击标题修改信息</title></head><body><center><!-- 线判断用户是否登录 --><%request.setCharacterEncoding("utf-8");if(session.getAttribute("uname")!=null){//用户已登录%><%//连接数据库Connection conn       =null;PreparedStatement stat=null;ResultSet rs          =null;%><%//接收参数int id=0;try{id=Integer.parseInt(request.getParameter("id"));}catch(Exception e){}%><%//如果有内容,就修改变量i;如果没有内容,就进行无内容提示int i=0;String sql="select * from note where id=?";try{conn=Util.getConnection();stat=conn.prepareStatement(sql);//设置查询的条件stat.setInt(1, id);//将查询到的结果方法哦结果集中rs=stat.executeQuery();%><%//如果查询到下一条语句if(rs.next()){i++;//从数据库中取出数据,进行循环打印id=rs.getInt("id");String title=rs.getString("title");String author=rs.getString("author");String content=rs.getString("content");%><form action="do_update.jsp" method="post"><table border="1" cellpading=0 cellspacing=0 width="80%"><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><input type="text" name="content" value="<%=content%>"/></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/>请确认留言是否存在!!<%}%><%//关闭结果集rs.close();//关闭预处理rs.close();//关闭连接conn.close();}catch(Exception e){}%><%}else{//用户还未登录,显示提示信息response.setHeader("refresh", "2;url=index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%      }%></center></body>
</html>

②处理更新:

<%@page import="java.sql.*"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@page import="com.bright.util.Util" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>处理更新信息的页面</title></head><body><center><!-- 线判断用户是否登录 --><%request.setCharacterEncoding("utf-8");if(session.getAttribute("uname")!=null){//用户已登录%><%//连接数据库Connection conn       =null;PreparedStatement stat=null;%><%//声明一个boolean变量boolean flag=false;//接收参数String title=request.getParameter("title");String author=request.getParameter("author");String content=request.getParameter("content");//被隐藏的idint id=0;try{id=Integer.parseInt(request.getParameter("id"));}catch(Exception e){}%><%//更新数据库中的数据String sql="update note set title=?,author=?,content=? where id=?";try{conn=Util.getConnection();stat=conn.prepareStatement(sql);//设置查询的条件stat.setString(1, title);stat.setString(2, author);stat.setString(3, content);stat.setInt(4, id);//将查询到的结果方法哦结果集中stat.executeUpdate();//关闭连接stat.close();conn.close();//如果修改成功,就会执行这一句,将flag还为trueflag=true;}catch(Exception e){}%><%response.setHeader("refresh", "2;url=list_note.jsp");if(flag){%>留言修改成功,两秒后跳转到留言管理<br/>如果没有跳转,点击<a href="list_note.jsp">这里</a><%}else{%>留言修改失败,两秒后跳转到留言管理<br/>如果没有跳转,点击<a href="list_note.jsp">这里</a><% }%><%}else{//用户还未登录,显示提示信息response.setHeader("refresh", "2;url=index.jsp");%>您还未登录!请登录<br/>两秒后自动跳转到登录串口!<br/>如未跳转,点击<a href="index.jsp">这里</a><%      }%></center></body>
</html>

小结:
修改信息时,先判断用户是否登录
—登录了:

--连接数据库的参数
--获取参数id(要做异常处理)
--如果有内容,就修改i,连接数据库之后就行查询,将查询到的结果放到结果集中,如果查询到有下一条信息,就从数据库中取出数据进行循环打印
--如果没有内容,就显示“ 没有发现要更新的内容!!请确认留言是否存在!!”
--关闭结果集/关闭预处理/关闭连接

—没有登录:
–显示提示信息

jsp做的留言系统(防止非法登录、增删改查留言)相关推荐

  1. javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...

    引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...

  2. javaweb简单的登录增删改查系统_利用python操作小程序云数据库实现简单的增删改查!

    不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了 背景 也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HT ...

  3. 电信报表java_china_netcom 用java和框架Strus开发的电信报表系统,信息 的增删改查 Develop 238万源代码下载- www.pudn.com...

    文件名称: china_netcom下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 532 KB 上传时间: 2014-09-04 下载次数: 1 提 供 者: ...

  4. java增删改查 jsp生成_jsp+servlet实现最简单的增删改查代码分享

    话不多说,请看代码 package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; imp ...

  5. 登录+增删改查+主题+游客浏览

    目录 一.登录 二.新闻管理系统的添加系统 三.新闻发布系统的绑定数据+模糊查询 四.新闻发布系统的删除 五.新闻发布系统的阅读 六.新闻发布系统的修改 七.新闻发布系统的添加主题 八.新闻发布系统的 ...

  6. Android安卓期末大作业 新闻app 实现注册登录增删改查功能

    Android安卓期末大作业 新闻app (文末附下载链接) app情况如下图所示: 点我下载 https://download.csdn.net/download/weixin_43474701/7 ...

  7. JSP学籍信息管理系统实现增删改查的相关功能操作

    JSP学籍信息管理系统 前言 这是我大二上学期那年学习JSP做的实训项目,现在把它贴在网上供自己和需要的人进行回顾和参考,如有哪里做的不规范还请指出,因为这是第一次做的项目所以不是特别完善,界面也不够 ...

  8. 欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。

    完成项目会有以下的效果. JSP第二十课:Mvc+Mysql+Servlect+Jsp实现在浏览器上对数据库的增删改查. MVC全名是Model View Controller, 是 @@1模型(mo ...

  9. 对Android手机系统日历数据增删改查操作详解

    Android手机系统日历数据增删改查详解 前段时间需要开发提取手机系统的日历数据的功能,自己开始研究了一下,刚开始还是比较懵逼的,经过仔细研究还是能够完全贯通了. 如果不想细细研究,可以直接下载我的 ...

最新文章

  1. linux深度定制,专为国人订制!Linux Deepin新版发布
  2. 文章如何做伪原创 SEO大神教你几招做原创网站文章的心得
  3. Inline Hook
  4. 学期计算机教学工作反思,信息技术组教学工作反思
  5. 15行代码AC——习题3-1 得分 (UVa1585,Score)
  6. 关于线程池ThreadPoolExecutor使用总结
  7. 二叉树经典题之从前序和中序遍历构建二叉树
  8. linux 切换目录技巧,Lnux入门教程:Linux目录切换技巧
  9. 2020年最新程序员职业发展路线指南,超详细!
  10. Github Trending被中文项目“占领”,国外开发者不开心了!
  11. 刷paper利器!不想打开PDF,这个插件自动帮你转到介绍页
  12. python面板数据模型_面板数据模型选择
  13. 2020国内十大API接口服务平台
  14. roundcube db.inc.php,Webmail Roundcube安装配置基础教程
  15. python打开浏览器并截图_使用python实现网页截图的两种方式
  16. 二元二次方程 c语言,C语言求二元二次方程组的解 我要代码 谢谢大家了
  17. 怎么操作信任另一台计算机,电脑上怎么设置信任软件
  18. 四足机器人|机器狗|仿生机器人|多足机器人|MATLAB动画仿真|Simulink动画仿真
  19. python七段数码管绘制实验报告_Python绘制七段数码管实例代码
  20. JavaC++题解与拓展——leetcode398.随机数索引【水塘抽样学习】

热门文章

  1. #业余学习 java基础
  2. PHP 全局变量 - 超全局变量
  3. 艾美捷Bio-Helix CCH321 超敏ECL化学发光试剂盒(皮克级)特点
  4. 实验四 进程同步与通信(一)进程同步与互斥1
  5. 实现网站对IP地址的限制访问
  6. windows下安装ruby on rails
  7. iOS-自定义手势操作
  8. 钉钉企业主要功能介绍
  9. 看完这五个问题后你真的了解C语言吗?(深度剖析C语言第二期)
  10. Kinect与TOF、双目、结构光相机比较相机国产、非国产统计参数对比分析