学生信息管理系统--基于jsp技术和MySQL的简单增删改查
web实现增删改查的方式有很多啊,对于初学者来说当然是要先了解各部分的传值的方式.本篇博客从jsp技术的最基础方面进行说明.
一、什么是jsp技术
首先,我们要了解什么是jsp技术.
jsp技术是基于JAVA语言的动态网页技术,通常使用HTML语言来设计和格式化静态页面内容,然后通过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>操 作</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> <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="添加">添 加</button>
46 <button type="reset" value="重置">重 置</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="修改">修 改</button>
53 <button type="reset" value="重置">重 置</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的简单增删改查的更多相关文章
- Node+Express+MySql实现简单增删改查和登录
var express = require('express'); var mysql = require('mysql'); var app = express(); var bodyParser ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- java数据库(MySQL)之增删改查
1.查询数据 先救从简单的来吧,之前我们实现了将数据库表格信息读取到一个List集合中,数据库的查询,实 际上就是对这个集合的查询: public class Show { public static ...
- PHP+Mysql 实现数据库增删改查
PHP和Mysql可以对数据库进行简单的增删改查,本文介绍了新闻列表的后台管理. Mysql数据库创建 创建一个新闻列表的数据库: 1. 查询数据库 1.1. 创建文件dbconfig.php,保存常 ...
- SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查
SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...
- JSP+Servlet+JavaBean实现数据库的增删改查
基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果. ...
随机推荐
- 在Visual Studio 中使用git——分支管理-下(九)
在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...
- camera数字降噪(DNR)
camera数字降噪(DNR) 闭路电视摄像机 无论多么出色和弱光,在黑暗中拍摄视频监控录像时都会不可避免地产生一些噪音.噪声是任何电子通信中不可避免的部分,无论是视频还是音频.本质上是静态的–视频信 ...
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(四)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(四) Nightmare 从前,在一所大学的大楼里,西蒙尼亚.维达第和齐瑟曼有一个很好的主意,几乎和你现在坐的大楼完全不同.他们想,嘿 ...
- H.264 Video Codec速度和质量
H.264 Video Codec速度和质量 从Kepler开始的所有 NVIDIA GPUs 都支持完全加速的硬件视频编码: GPUs 从费米开始支持完全加速的硬件视频解码.最近发布的图灵硬件提供了 ...
- dataguard日志损坏处理
===== 问题 ===== 日志损坏无法应用日志(开启MRP应用系统会因无法应用日志而关闭) Completed: ALTER DATABASE RECOVER MANAGED STANDBY DA ...
- awr快照保留时间修改
============== awr快照保留时间修改 ============= 1.查询当前awr报告保留时间 col SNAP_INTERVAL for a20col RETENTION for ...
- .NET Worker Service 作为 Windows 服务运行及优雅退出改进
上一篇文章我们了解了如何为 Worker Service 添加 Serilog 日志记录,今天我接着介绍一下如何将 Worker Service 作为 Windows 服务运行. 我曾经在前面一篇文章 ...
- UF_DRF 制图符号标注尺寸
Open C uc5530uc5531uc5532uc5533uc5534uc5540uc5541uc5542uc5543uc5550uc5551uc5563uc5566uf5505uf5506uf5 ...
- .Net Core with 微服务 - Consul 注册中心
上一次我们介绍了 Ocelot 网关的基本用法.这次我们开始介绍服务注册发现组件 Consul 的简单使用方法. 服务注册发现 首先先让我们回顾下服务注册发现的概念. 在实施微服务之后,我们的调用都变 ...
- Spring Boot WebFlux-04——WebFlux 整合 Thymeleaf
第04课:WebFlux 整合 Thymeleaf 上一篇介绍的是用 MongoDB 来实现 WebFlux 对数据源的操作,那么有了数据需要渲染到前台给用户展示,这就是本文关心的 View 层,Vi ...