实验:
编写登录和信息界面,连接到数据库,包括增删改查等操作
编写连接数据库的登录界面,还有增删改查的一系列操作
1.登陆界面,账户密码正确方可进入,错误则登陆失败,三秒以后返回登陆页面。
代码如下:
login.isp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><link rel="stylesheet" href="css/bootstrap.css"><script src="js/jquery.min.js"></script><script src="js/bootstrap.bundle.js"></script><script src="js/bootstrap.js"></script><style>.container{width:20%;height: 20%;margin-top: 10%;}</style>
</head>
<body>
<div class="container"><div class="row clearfix"><div class="col-md-12 column"><form role="form" method="post" action="index.jsp"><div class="form-group"><label for="exampleInputEmail1">账户名</label><input class="form-control" name="username" id="exampleInputEmail1" type="text" /></div><div class="form-group"><label for="exampleInputPassword1">密码</label><input class="form-control" name="password" id="exampleInputPassword1" type="password" /></div><div class="checkbox"><label><input type="checkbox" />Check me out</label></div> <button class="btn btn-default" type="submit">提交</button></form></div></div>
</div></body>
</html>

用户登录正确,则进入到home.jsp,如果用户登陆错误,则提示登录失败,三秒后返回登陆界面。

2、登陆成功后,进入到home.jsp,进行增删改等功能。
home.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><link rel="stylesheet" href="css/bootstrap.css"><script src="js/jquery.min.js"></script><script src="js/bootstrap.bundle.js"></script><script src="js/bootstrap.js"></script>
</head>
<body>
<%//加载数据库驱动Class.forName("com.mysql.jdbc.Driver");//建立数据库连接String url="jdbc:mysql://localhost:3306/book";Connection connection= DriverManager.getConnection(url,"root","root");String sql ="select * from user";PreparedStatement pstm =connection.prepareStatement(sql);ResultSet rs=pstm.executeQuery();%>
<div class="container"><div class="row clearfix"><div class="col-md-12 column"><h3 style="text-align: center">欢迎来到个人主页</h3><a class="btn" id="modal-198502" role="button" href="#modal-container-198502" data-toggle="modal">添加用户</a><table class="table"><thead><th>ID</th><th>用户名</th><th>性别</th><th>年龄</th></thead><tbody><%while(rs.next()){out.print("<tr>");out.print("<td>"+rs.getString("id")+"</td><td>"+rs.getString("username")+"</td><td>"+rs.getString("gender")+"</td><td>"+rs.getString("age")+"</td>"+"<td><a href='delete.jsp?id="+rs.getString("id")+"'>删除</a>"+"&nbsp;<a href='edit.jsp?id="+rs.getString("id")+"'>修改</a>"+"</td>");out.print("</tr>");}%></tbody></table></div></div></div><div class="modal fade" id="modal-container-198502" role="dialog" aria-hidden="true" aria-labelledby="myModalLabel"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button class="close" aria-hidden="true" type="button" data-dismiss="modal">×</button><h4 class="modal-title" id="myModalLabel">标题</h4><button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button></div><form method="post" action="add.jsp"><div class="modal-body"><div class="form-group"><label>用户名:</label><input type="text" name="username" class="form-control" /></div><div class="form-group"><label>密码:</label><input type="text" name="password" class="form-control" /></div><div class="form-group"><label>性别:</label><input type="text" name="gender" class="form-control" /></div><div class="form-group"><label>年龄:</label><input type="text" name="age" class="form-control" /></div></div><div class="modal-footer"><button class="btn btn-default" type="button" data-dismiss="modal">关闭</button><button class="btn btn-primary" type="submit">提交</button></div></form></div></div></div></body>
</html>


3.添加用户
add.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.user" scope="request"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%//加载驱动Class.forName("com.mysql.jdbc.Driver");//建立连接String url ="jdbc:mysql://localhost:3306/book";Connection connection = DriverManager.getConnection(url,"root","root");//关闭自动提交connection.setAutoCommit(false);//sql语句模板String sql = "insert into user (username,password,gender,age,id) value (?,?,?,?,?)";//创建preparedStatement对象PreparedStatement ps =connection.prepareStatement(sql);ps.setString(1,user.getUsername());ps.setString(2,user.getPassword());ps.setInt(3,user.getGender());ps.setInt(4,user.getAge());ps.setInt(5,7);ps.addBatch();ps.setString(1,user.getUsername()+"123");ps.setString(2,user.getPassword()+"123");ps.setInt(3,user.getGender());ps.setInt(4,user.getAge());ps.setInt(5,13);ps.addBatch();//事务int[] count={0};try {count = ps.executeBatch();connection.commit();}catch (SQLException e){connection.rollback();e.printStackTrace();}if(count[0] > 0){out.print("添加成功");}else{out.print("添加失败");}response.setHeader("refresh","3;url=home.jsp");
%>
<html>
<head><title>Title</title>
</head>
<body></body>
</html>

需要的usebean代码:

package com;public class user {private String username;private String password;private int gender;private int age;private int id;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getGender() {return gender;}public void setGender(int gender) {this.gender = gender;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getId() {return id;}public void setId(int id) {this.id = id;}
}


4.删除用户
delete.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%//加载驱动Class.forName("com.mysql.jdbc.Driver");//建立连接String url ="jdbc:mysql://localhost:3306/book";Connection connection = DriverManager.getConnection(url,"root","root");//sql语句模板String sql = "delete from user where id = ?";//创建preparedStatement对象PreparedStatement ps =connection.prepareStatement(sql);int id = Integer.parseInt(request.getParameter("id"));ps.setInt(1,id);int count =ps.executeUpdate();if(count > 0){out.print("删除成功");}else{out.print("删除失败");}
%>
<html>
<head><title>Title</title>
</head>
<body></body>
</html>


5.修改用户数据
edit.jsp:

<html>
<head><title>Title</title><link rel="stylesheet" href="css/bootstrap.css"><script src="js/jquery.min.js"></script><script src="js/bootstrap.bundle.js"></script><script src="js/bootstrap.js"></script>
</head>
<body><%@ page contentType="text/html;charset=UTF-8" language="java" %>
<div class="container"><div class="row clearfix"><div class="col-md-12 column"><form role="form" method="post" action="update.jsp"><h3 style="margin-top: 20px;">用户编辑</h3>
<%//加载驱动Class.forName("com.mysql.jdbc.Driver");//建立连接String url ="jdbc:mysql://localhost:3306/book";Connection connection = DriverManager.getConnection(url,"root","root");//sql语句模板String sql = "select * from user where id = ?";//创建preparedStatement对象PreparedStatement ps =connection.prepareStatement(sql);int id = Integer.parseInt(request.getParameter("id"));ps.setInt(1,id);ResultSet rs =ps.executeQuery();while (rs.next()){out.print("<input type=\"hidden\" name='id' value="+id+">");out.print("用户名:<input type='text' name='username' class=\"form-control\" value="+rs.getString("username")+"><br>");out.print("密码:<input type='text' name='password' class=\"form-control\" value="+rs.getString("password")+"><br>");out.print("性别:<input type='text' name='gender' class=\"form-control\" value="+rs.getString("gender")+"><br>");out.print("年龄:<input type='text' name='age' class=\"form-control\" value="+rs.getString("age")+"><br>");}
%><button type="submit" style="width: 100%" class="btn btn-info">提交</button></form></div></div>
</div></body>
</html>

修改的信息提交到update.jsp
update.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.user" scope="request"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%//加载驱动Class.forName("com.mysql.jdbc.Driver");//建立连接String url ="jdbc:mysql://localhost:3306/book";Connection connection = DriverManager.getConnection(url,"root","root");//sql语句模板String sql = "update user set username = ? ,password = ? ,gender = ?,age = ? where id = ?";//创建preparedStatement对象PreparedStatement ps =connection.prepareStatement(sql);ps.setString(1,user.getUsername());ps.setString(2,user.getPassword());ps.setInt(3,user.getGender());ps.setInt(4,user.getAge());ps.setInt(5,user.getId());int count = ps.executeUpdate();if(count > 0){out.print("修改成功");}else{out.print("修改失败");}response.setHeader("refresh","3;url=home.jsp");
%>
<html>
<head><title>Title</title>
</head>
<body></body>
</html>


201615105027张金文相关推荐

  1. 河南大学计算机系导师张重生,《大河报》我国首款AI甲骨缀合产品发布,河南大学留学归国人员联谊会会员张重生教授团队主研...

    10月31日,中国古文字研究会第二十三届学术年会在河南大学举行,来自中国社会科学院.北京大学.清华大学.浙江大学.复旦大学.南开大学.中山大学.中华书局.故宫博物院等近二百位专家齐聚开封,共话甲骨文等 ...

  2. 端午节书法作品楷书内容_端午节里欣赏 书法家 张书武的作品

    腹中万卷书 墨落堪独步 张书武,生于1957年3月,洛阳孟津人,书法爱好者. 中华民族五千年的优秀历史文化,就是靠文字记载下来的,正是有了文字才使历史代代相传.中国汉字的发源是从古代的象形.形声.会意 ...

  3. 智能开发框架 JEECG 作者张代浩专访

    转自:http://blog.csdn.net/blogdevteam/article/details/8534797 目录(?)[-] 先做个自我介绍吧 JEECG是什么 有哪些功能 开发这个框架的 ...

  4. mysql中3张表如何关联查询_mysql三张表关联查询

    三张表,需要得到的数据是标红色部分的.sql如下: select a.uid,a.uname,a.upsw,a.urealname,a.utel,a.uremark, b.rid,b.rname,b. ...

  5. k均值聚类图像分割matlab代码_用K均值聚类法为人类拍摄的首张黑洞照片进行分割...

    众所周知,人类最近拍摄了首张黑洞照片.网友们纷纷表示,这明明就是一个甜甜圈嘛!以前以为黑洞是这个世界上最最高冷的存在,而此刻突然现出真身,形象却是如此的人畜无害!不但如此,还勾起了网友的食欲!简直是罪 ...

  6. 打印循环换行_科学向日葵在线课堂 ——张老师讲Python 第八课 周而复始为循环2...

    点击蓝字关注我们 张老师讲编程--和爸爸妈妈一起学Python Python 的编辑器有很多,例如 PyCharm.Spyder.Notepad++等等,大家根据需要选择一个就好,初期程序代码量不大, ...

  7. c++引用另一个类的方法_VlookUp函数使用方法,一张表引用另一张表的数据。

    Excel里面的Vlookup函数是很常用的函数,也是非常实用的函数.这里大致讲一下这个函数所能实现的功能,我们讲的通俗一点,比如有两张表,第一张表有学号.姓名信息,另一张表中有学号.成绩信息,当第一 ...

  8. PHP如何把三张图片均匀分布,怎么把一张图片分成9张

    把一张图片分成9张的方法:首先打开Photoshop软件,并打开一张图片:然后将图片裁剪成正方形:接着找到切片工具,选择"划分切片",并将数值设置成"3,3": ...

  9. 使用Python判断俩张图像相同或以某种方式相似

    使用Python判断俩张图像相同或以某种方式相似 1. 均方误差(MSE) 2. 结构相似性指数(SSIM) 3. 效果图 4. 总结 参考 比较图像有俩种方案: 使用图像哈希/感知哈希/差分哈希比较 ...

最新文章

  1. python中selenium中使用ajax_selenium 智能等待ajax完成调用
  2. Nginx+Tomcat出现session丢失问题
  3. Linux学习之系统编程篇:使用信号量实现“生产者和消费者模型”
  4. 【MFC】工具栏按钮的热点效果
  5. EasyOffice-.NetCore一行代码导入导出Excel,生成Word
  6. bzoj千题计划169:bzoj2463: [中山市选2009]谁能赢呢?
  7. docker -v 覆盖了容器中的文件_浅谈docker中宿主机和容器之间互相copy文件的两种方式,欢迎补充...
  8. 量子计算机接口,量子计算机接口架构设计与研究
  9. Jquery的知识图谱
  10. MOSS工作流任务权限控制
  11. 怒肝三个月啃完这110道面试题,跳槽薪资翻倍
  12. android定时任务源码,Android 定时任务之Service + AlarmManger + BroadcastReceiver
  13. 【网格压缩测评】MeshQuan、MeshOpt、Draco
  14. 如何在Apple Watch上查看实时照片
  15. Spatial4j简介
  16. python机器学习——决策树(分类)及“泰坦尼克号沉船事故”数据集案例操作
  17. 基于Modis数据监测森林火灾
  18. 微信开发工具制作会动的海绵宝宝
  19. matlab python对比_Python与R、Matlab的对比
  20. html下拉列表不居中_学习之路-前端-笔记-一、HTML笔记(转)

热门文章

  1. oracle字符串怎么自动分区,Oracle 11g下自动创建分区
  2. Linux内核的构成,Linux内核学习路线知识点总结以及视频
  3. 距离2019年3月快四年了
  4. java后端解决跨域问题
  5. DWA的局部规划方法
  6. google authenticator 工作原理
  7. java swing制作密钥生成器-AES对称加密
  8. 哪一款免费的文字转语音软件最好用?
  9. 三菱FX3U与3台三菱e740或D700变频器通讯程序
  10. C语言-基础练习题详解