web实现增删改查的方式有很多啊,对于初学者来说当然是要先了解各部分的传值的方式.本篇博客从jsp技术的最基础方面进行说明.

一、什么是jsp技术

  首先,我们要了解什么是jsp技术.

  jsp技术是基于JAVA语言的动态网页技术,通常使用HTML语言来设计和格式化静态页面内容,然后通过jsp标签来实现动态部分,也就是数据间的互交.在这里推荐一篇博客来供初学者进行学习.

  山河永慕~"的博客:Jsp技术总结

二、代码实现

  1.创建数据库表

  创建一下数据库表,数据库名Student,表名student.

  

  2.创建web项目,项目名为Student并建立以下jsp页面

  1)主页面 index.jsp

 1 <%@ page language="java" import="java.sql.*" pageEncoding="utf-8"%>
2 <%@ page errorPage="error.jsp"%>
3 <html>
4 <head>
5 <title>学生管理系统</title>
6 <link rel="stylesheet" type="text/css" href="css/style.css">
7 </head>
8 <body>
9 <div align="center">
10 <p>学生管理系统</p>
11 <a href="add.jsp">添加学生信息</a> <br /> <br />
12 <table style="width: 50%;">
13 <tr>
14 <th>学号</th>
15 <th>姓名</th>
16 <th>性别</th>
17 <th>出生日期</th>
18 <th>家庭住址</th>
19 <th>操&nbsp;&nbsp;作</th>
20 </tr>
21 <%
22 try {
23 Class.forName("com.mysql.jdbc.Driver");
24 Connection con = DriverManager.getConnection(
25 "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8", "root",
26 "root");
27 //使用Statement对象
28 Statement stmt = con.createStatement();
29 String s = "select * from student";
30 ResultSet rs = stmt.executeQuery(s);
31
32 while (rs.next()) {
33 int id = rs.getInt(1);
34 out.println("<tr><td>" + rs.getString(1) + "</td><td>" + rs.getString(2) + "</td><td>"
35 + rs.getString(3) + "</td><td>" + rs.getString(4) + "</td><td>" + rs.getString(5)
36 + "</td><td><a href='edit.jsp?id=" + id
37 + "'>修改</a>&nbsp;<a onclick='check()' href='del.jsp?id=" + id + "'>删除</a></td></tr>");
38 }
39 rs.close();
40 stmt.close();
41 con.close();
42 } catch (Exception e) {
43 out.println("Exception:" + e.getMessage());
44 }
45 %>
46
47 </table>
48 <br />
49 </div>
50 <script>
51 function check() {
52 if (confirm("确认执行此操作吗?")) {
53 return true;
54 } else {
55 return false;
56 }
57 }
58 </script>
59 </body>
60 </html>

  这里采用JDBC来连接数据库,并指定字符编码与解码方式为utf-8.并通过遍历表student的数据将每一行的每一列数据依次out.printf输出到table中.设计修改、操作的操作按钮传值id进行相应操作.

  其中,script中为javascript脚本语言,用来限制删除的操作,防止用户误删.

  2)添加操作

  add.jsp

 1 <%@ page contentType="text/html; charset=utf-8" import="java.sql.*"
2 errorPage="error.jsp"%>
3 <html>
4 <head>
5 <title>添学生信息</title>
6 <link rel="stylesheet" type="text/css" href="css/style.css">
7 </head>
8 <body>
9 <div align="center">
10 <p>添加成员信息</p>
11 <form action="addsave.jsp" method="post">
12 <table style="width: 50%">
13 <tr>
14 <th width="50%">学号:</th>
15 <td width="50%"><input name="id" type="text" required
16 oninvalid="setCustomValidity('学号是必填项')"
17 oninput="setCustomValidity('')"></td>
18 </tr>
19 <tr>
20 <th>姓名:</th>
21 <td><input name="name" type="text" required
22 oninvalid="setCustomValidity('姓名是必填项')"
23 oninput="setCustomValidity('')"></td>
24 </tr>
25 <tr>
26 <th>性别:</th>
27 <td><select name="sex">
28 <option value="男">男</option>
29 <option value="女">女</option>
30 </select></td>
31 </tr>
32 <tr>
33 <th>出生日期:</th>
34 <td><input name="birthday" type="text" required
35 oninvalid="setCustomValidity('出生日期是必填项')"
36 oninput="setCustomValidity('')"></td>
37 </tr>
38 <tr>
39 <th>家庭住址:</th>
40 <td><input name="address" type="text" required
41 oninvalid="setCustomValidity('家庭居住地址是必填项')"
42 oninput="setCustomValidity('')"></td>
43 </tr>
44 </table>
45 <button type="submit" name="submit" value="添加">添&nbsp;加</button>
46 <button type="reset" value="重置">重&nbsp;置</button>
47 </form>
48 </div>
49 </body>
50 </html>

  设计添加页面,通过form表单传值到addsave.jsp

  addsave.jsp

  addsave.jsp进行数据的获取并将数据添加到数据库.因为传值的时候是以String的形式传输的,所以对于id要进行类型转换 1 int id = Integer.parseInt(request.getParameter("id")); .

 1 <%@ page contentType="text/html; charset=utf-8" import="java.sql.*"
2 errorPage="error.jsp"%>
3 <html>
4 <head>
5 <title>添加学生信息</title>
6 <link rel="stylesheet" type="text/css" href="css/style.css">
7 </head>
8 <body>
9 <%
10 request.setCharacterEncoding("utf-8");
11 String submit = request.getParameter("submit");
12
13 int id = Integer.parseInt(request.getParameter("id"));
14 String name = request.getParameter("name");
15 String sex = request.getParameter("sex");
16 String birthday = request.getParameter("birthday");
17 String address = request.getParameter("address");
18 Class.forName("com.mysql.jdbc.Driver");
19 Connection con = DriverManager.getConnection(
20 "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8", "root", "root");
21 //使用Statement对象
22 Statement stmt = con.createStatement();
23 String sql = "insert into student(id,name,sex,birthday,address) values('" + id + "','" + name + "','" + sex
24 + "','" + birthday + "'," + address + ")";
25 int i = stmt.executeUpdate(sql);
26
27 if (i == 1) {
28 %>
29
30 <script type="text/javascript">
31 alert("学生信息添加成功");
32 window.location.href = "index.jsp";
33 </script>
34 <%
35 } else {
36 %>
37 <script type="text/javascript">
38 alert("学生信息添加失败");
39 window.location.href = "index.jsp";
40 </script>
41 <%
42 }
43 stmt.close();
44 con.close();
45 %>
46 </body>
47 </html>

  3)修改操作

  edit.jsp

 1 <%@ page import="java.sql.*" pageEncoding="utf-8" errorPage="error.jsp"%>
2 <html>
3 <head>
4 <title>修改学生信息</title>
5 <link rel="stylesheet" type="text/css" href="css/style.css">
6 </head>
7 <body>
8 <%
9 request.setCharacterEncoding("utf-8");
10 Class.forName("com.mysql.jdbc.Driver");
11 Connection con = DriverManager.getConnection(
12 "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8", "root", "20173673");
13 Statement stmt = con.createStatement();
14 String id = request.getParameter("id");
15 ResultSet rs = stmt.executeQuery("select * from student where id=" + id);
16 rs.next();
17 %>
18 <div align="center">
19 <form action="editsave.jsp" method="post">
20 <h2>修改学生信息</h2>
21 <table style="width: 50%">
22 <tr>
23 <th width="50%">学号:</th>
24 <td width="50%"><input name="id" type="text"
25 value="<%=rs.getString(1)%>" disabled="disabled"></td>
26 </tr>
27 <tr>
28 <th>姓名:</th>
29 <td><input name="name" type="text"
30 value="<%=rs.getString(2)%>"></td>
31 </tr>
32 <tr>
33 <th>性别:</th>
34 <td><select name="sex">
35 <option value="<%=rs.getString(3)%>"><%=rs.getString(3)%>
36 <option value="男">男</option>
37 <option value="女">女</option>
38 </select>
39 </tr>
40 <tr>
41 <th>出生日期:</th>
42 <td><input name="birthday" type="text"
43 value="<%=rs.getString(4)%>"></td>
44 </tr>
45 <tr>
46 <th>家庭住址:</th>
47 <td><input name="address" type="text"
48 value="<%=rs.getString(5)%>"></td>
49 </tr>
50 </table>
51 <input type="hidden" name="id" value="<%=id%>">
52 <button type="submit" name="submit" value="修改">修&nbsp;改</button>
53 <button type="reset" value="重置">重&nbsp;置</button>
54 </form>
55 </div>
56 <%
57 rs.close();
58 stmt.close();
59 con.close();
60 %>
61
62 </body>
63 </html>

  通过id获取要修改的内容,显示到table的input输入框中,进行修改.然后将值传输到editsave.jsp中,进行信息修改的操作.

  editsave.jsp

 1 <%@ page import="java.sql.*" pageEncoding="utf-8" errorPage="error.jsp"%>
2 <html>
3 <head>
4 <title>修改完成</title>
5 <link rel="stylesheet" type="text/css" href="css/style.css">
6 </head>
7 <body>
8 <%
9 request.setCharacterEncoding("utf-8");
10 int id = Integer.parseInt(request.getParameter("id"));
11 String name = request.getParameter("name");
12 String sex = request.getParameter("sex");
13 String birthday = request.getParameter("birthday");
14 String address = request.getParameter("address");
15 Class.forName("com.mysql.jdbc.Driver");
16 Connection con = DriverManager.getConnection(
17 "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8", "root", "root");
18 Statement stmt = con.createStatement();
19 String sql = "update student set id = '" + id + "',name='" + name + "',sex = '" + sex + "',birthday='"
20 + birthday + "', address = '" + address + "'where id=" + id;
21
22 int i = stmt.executeUpdate(sql);
23 if (i == 1) {
24 %>
25
26 <script type="text/javascript">
27 alert("信息修改成功");
28 window.location.href = "index.jsp";
29 </script>
30 <%
31 } else {
32 %>
33 <script type="text/javascript">
34 alert("信息修改失败");
35 window.location.href = 'edit.jsp?id='
36 " + id + ";
37 </script>
38
39 <%
40 }
41 stmt.close();
42 con.close();
43 %>
44 </body>
45 </html>

  4)删除操作

  delete.jsp

 1 <%@ page contentType="text/html; charset=gbk" language="java"
2 import="java.sql.*" pageEncoding="utf-8"%>
3 <html>
4 <head>
5 <title>删除学生信息</title>
6 <link rel="stylesheet" type="text/css" href="css/style.css">
7 </head>
8 <body>
9 <%
10 request.setCharacterEncoding("gbk");
11 Class.forName("com.mysql.jdbc.Driver");
12 Connection con = DriverManager.getConnection(
13 "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8", "root", "root");
14 Statement stmt = con.createStatement();
15 String id = request.getParameter("id");
16 int i = stmt.executeUpdate("delete from student where id=" + id);
17 if (i == 1) {
18 %>
19 <script type="text/javascript">
20 alert("学生信息删除成功!");
21 window.location.href = "index.jsp";
22 </script>
23 <%
24 } else {
25 %>
26 <script type="text/javascript">
27 alert("学生信息删除失败");
28 window.location.href = "index.jsp";
29 </script>
30 <%
31 }
32 con.close();
33 stmt.close();
34 %>
35 </body>
36 </html>

  

三、效果截图

  index

  add

  edit

  大体就是这样啦,有什么不对的希望大家多多指正.

学生信息管理系统--基于jsp技术和MySQL的简单增删改查的更多相关文章

  1. Node+Express+MySql实现简单增删改查和登录

    var express = require('express'); var mysql = require('mysql'); var app = express(); var bodyParser ...

  2. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  3. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  4. 手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  5. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  6. java数据库(MySQL)之增删改查

    1.查询数据 先救从简单的来吧,之前我们实现了将数据库表格信息读取到一个List集合中,数据库的查询,实 际上就是对这个集合的查询: public class Show { public static ...

  7. PHP+Mysql 实现数据库增删改查

    PHP和Mysql可以对数据库进行简单的增删改查,本文介绍了新闻列表的后台管理. Mysql数据库创建 创建一个新闻列表的数据库: 1. 查询数据库 1.1. 创建文件dbconfig.php,保存常 ...

  8. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  9. JSP+Servlet+JavaBean实现数据库的增删改查

    基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果. ...

随机推荐

  1. Paddle Inference推理部署

    Paddle Inference推理部署 飞桨(PaddlePaddle)是集深度学习核心框架.工具组件和服务平台为一体的技术先进.功能完备的开源深度学习平台,已被中国企业广泛使用,深度契合企业应用需 ...

  2. GraphX编程指南

    GraphX编程指南 概述 入门 属性图 属性图示例 图算子 算子摘要列表 属性算子 结构化算子 Join算子 最近邻聚集 汇总消息(a​​ggregateMessages) Map Reduce三元 ...

  3. 视频处理单元Video Processing Unit

    视频处理单元Video Processing Unit VPU处理全局视频处理,它包括时钟门.块复位线和电源域的管理. 缺少什么: •完全重置整个视频处理硬件块 •VPU时钟的缩放和设置 •总线时钟门 ...

  4. gst-crypto GStreamer插件

    gst-crypto GStreamer插件 内容 1. gst-crypto概述 1.1gst-crypto GStreamer插件功能 1.2用例范例 2. GStreamer插件支持 3. 在本 ...

  5. onnx算子大全

    本文通过此脚本从def文件自动生成.不要直接修改,而是编辑算子定义. 对于算子输入/输出的可辩别的,它可以是可辩别的.不可辩别的或未定义的.如果未指定变量的可辩别的,则该变量具有未定义的可辩别的. a ...

  6. Python_selenium页面元素整合设计经验

  7. Docker-compose搭建ELK环境并同步MS SQL Server数据

    前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...

  8. 28.qt quick-ListView高仿微信好友列表和聊天列表

    1.视图模型介绍  在Qml中.常见的View视图有: ListView: 列表视图,视图中数据来自ListModel.XmlListModel或c++中继承自QAbstractItemModel或Q ...

  9. 『动善时』JMeter基础 — 44、JMeter对数据库的更新操作

    目录 1.执行一条insert语句 2.insert语句实现参数化 3.一次执行多条insert语句 4.使用Beanshell生成加密数据示例 (1)测试计划内包含的元件 (2)JDBC连接配置组件 ...

  10. 裸辞闭关2个月,成功进大厂!吃透这份562页《算法知识手册》,化身offer收割机!

    前言 记得我上本科的时候,我们老师一直跟我们强调:"算法才是编程的灵魂,一定要把算法学好."因为不管你是Java编程爱好者.还是python的忠实粉丝,亦或觉得PHP才是这个世界最 ...