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. HTML <a> 标签的 href 属性

    w3school页面的描述: HTML <a> 标签的 href 属性 HTML <a> 标签 实例 href 属性规定链接的目标: <a href="http ...

  2. NVIDIA DRIVE AGX开发工具包

    NVIDIA DRIVE AGX开发工具包 英伟达drive AGX开发工具包提供了开发生产级自主车辆(AV)所需的硬件.软件和示例应用程序.NVIDIA DRIVE AGX系统建立在汽车产品级芯片上 ...

  3. fiddler选项卡-Statistc(统计)

    Statistc Statistc是fiddler用来对session列表里的Session相关情况的统计,利用这个选项,可以对请求进行性能以及其他数据分析 1.界面 2.参数详解 建议:打开fidd ...

  4. 1738. 找出第 K 大的异或坐标值

    2021-05-19 LeetCode每日一题 链接:https://leetcode-cn.com/problems/find-kth-largest-xor-coordinate-value/ 标 ...

  5. 感知机与支持向量机 (SVM)

    感知机与SVM一样都是使用超平面对空间线性可分的向量进行分类,不同的是:感知机的目标是尽可能将所有样本分类正确,这种策略指导下得出的超平面可能有无数个,然而SVM不仅需要将样本分类正确,还需要最大化最 ...

  6. Visual Studio 2019 v16.10 和 v16.11 Preview 1 现已推出!

    Visual Studio 2019 v16.10有什么新功能? 我们很高兴地宣布Visual Studio 2019 v16.10 GA 和 v16.11 preview 1发布.此版本使我们的主题 ...

  7. Kubernetes ConfigMap详解,多种方式创建、多种方式使用

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 配置是程序绕不开的话题,在Kubernetes中使用ConfigMap来配置,它本质其实就是键值对.本文讲解如何 ...

  8. Go语言深度比较值是否相等

    Go语言深度比较值是否相等 需求描述: 我们在开发过程中经常会遇到一些需要比较值是否相等的场景,例如比较两个数组.结构体.Map.等,自己写这些代码比较繁琐,大部分时候这里都可以使用到反射reflec ...

  9. QGIS如何打开ArcGIS创建的GDB数据库文件

    引言 QGIS作为一种开源的地理信息处理软件由于其界面友好.渲染速度快.开源免费等特性而获得业内很多人士的青睐,然而在实际的生产和处理过程中,GIS数据往往存储在ArcGIS的文件地理数据库(Geod ...

  10. excel VBA一个fuction同时执行多个正则表达式,实现方法

    代码: Function zhengze3(ze1 As String, ze2 As String, Rng1 As Range, Rng2 As Range)    Set regx1 = Cre ...