6.10实验三 Web数据库程序设计

实验项目名称实验  Web数据库程序设计

一、实验目的

通过使用JSP技术设计一个简单的数据库管理系统,了解展示页面和编辑页面的区别,掌握Web服务器与MySQL数据库的连接和数据库操作的方法,掌握使用Java语言编写JSP文件的方法。

二、实验内容和基本要求

从以下列举的四个数据库中,任选其一,或者自行定义其他数据库,每个数据库中包含一张表,数据库名、表名、列名、列数据类型自行定义(提示:主键可以设为自增列):

1) 学生数据库:存储的信息包括学生学号、姓名、性别、生日等。

2) 商品数据库:存储的信息包括商品ID、商品名称、商品数量、生产厂家等。

3) 客户数据库:存储的信息包括客户ID、客户姓名、客户地址、手机号码等。

4) 车辆数据库:存储的信息包括汽车ID、品牌、颜色、车主姓名等。

开发一个数据库管理系统需要完成对以上数据库表中的记录的基本的查看、增加、修改和删除功能,参考系统文件关系如图1所示:

各个文件功能如下:

1) index.jsp:显示数据库表中的所有记录,每条记录均拥有两个超链接,分别指向edit.jspdel.jsp,这两个文件分别完成该条记录的编辑和删除功能。此外,该页面还需包含一个超链接指向add.jsp,完成新增一条记录的功能;

2) add.jsp:提供新增一条记录的页面,包含一个表单,若干输入框,该表单提交给addsave.jsp;

3) addsave.jsp:从add.jsp接收用户输入的数据,将数据插入数据库表中,并提示用户成功或者失败,提供一个超链接转向index.jsp;

4) edit.jsp:提供修改某一条记录的页面,包含一个表单,若干输入框,输入框初始值为该条记录原有数据,用户修改后,提交给editsave.jsp;

5) editsave.jsp:从edit.jsp接收用户输入的数据,修改数据库表中的对应记录,并提示用户成功或者失败,提供一个超链接转向index.jsp;

6) del.jsp:完成删除某一条记录的功能,并提示用户成功或者失败,提供一个超链接转向index.jsp;

7) error.jsp:作为其他所有页面的错误处理页面,该页面显示异常信息。

完成基本功能后,可以从以下方面对系统进行改进:

1) 对于客户端增加和修改信息页面,使用JavaScriptJqueryVue等技术进行必要的数据的非空验证

2) 自行添加一些CSS,使得页面和字体更加美观。

完成后,请将各个文件程序源代码和浏览器截图写入实验报告。

三、实验步骤

1) 打开MySQL WorkBench或其他客户端工具MySQL服务器上新建一个数据库。

2) 新建一个数据库表。

3) 在表中增加若干记录,作为初始数据。

4) 打开Eclipse软件,新建一个名为Lab03Web项目,并设置其部署程序为Tomcat

 

5) Lab03添加文件,编写代码。

6) Index.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>学生信息管理系统</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<h1>学生信息管理系统</h1>

<a href="ADD.jsp">添加学生信息</a>

<br />

<br />

<table style="width: 50%;">

<tr>

<th>学号</th>

<th>姓名</th>

<th>性别</th>

<th>出生日期</th>

<th>地址</th>

<th>管理</th>

</tr>

<%

try {

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

//使用 Statement 对象

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("select * from student");

/*

PreparedStatement stmt = con.prepareStatement("select *

from bookinfo");

ResultSet rs = stmt.executeQuery();

*/

while (rs.next()) {

String uid = rs.getString(1);

out.println("<tr><td>" + rs.getString(1) +

"</td><td>" + rs.getString(2) + "</td><td>" + rs.getString(3) +

"</td><td>"

+ rs.getString(4) + "</td><td>" +

rs.getString(5) + "</td><td><a href='EDIT.jsp?uid=" + uid

+ "'>修改</a> <a href='DEL.jsp?uid="

+ uid + "'>删除</a></td></tr>");

}

rs.close();

stmt.close();

con.close();

} catch (Exception e) {

out.println("Exception:" + e.getMessage());

}

%>

</table>

</body>

</html>

7) ADD.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>添加学生信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<form name="info" action="addsave.jsp" method="post"

onsubmit="return check()">

<h2>添加学生信息</h2>

<table style="width: 50%">

<tr>

<th width="30%">学号:</th>

<td width="70%"><input name="uid" type="text"></td>

</tr>

<tr>

<th>姓名:</th>

<td><input name="name" type="text"></td>

</tr>

<tr>

<th>性别:</th>

<td>

<input type="radio" name="sex" value="男">男

<input type="radio" name="sex" value="女">女

</td>

</tr>

<tr>

<th>出生日期:</th>

<td><input type="date" name="birthday"></td>

</tr>

<tr>

<th>地址:</th>

<td><input name="address" type="text"></td>

</tr>

<tr>

<td colspan="2">

<input type="submit" name="submit" value="提交">

<input type="reset" value="重置">

</td>

</tr>

</table>

</form>

</body>

<script type="text/javascript">

function check(){

if(info.name.value==""||info.name.value==null){

alert("请输入姓名!");

return false;

}

if(info.sex.value==""||info.sex.value==null){

alert("请选择性别!");

return false;

}

if(info.birthday.value==""||info.birthday.value==null){

alert("请选择出生日期!");

return false;

}

if(info.address.value==""||info.address.value==null){

alert("请输入地址!");

return false;

}

}

</script>

</html>

8) Addsave.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>添加图书信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

String uid = request.getParameter("uid");

String name = request.getParameter("name");

String sex = request.getParameter("sex");

String birthday = request.getParameter("birthday");

String address = request.getParameter("address");

String bookname = request.getParameter("bookname");

String author = request.getParameter("author");

String price = request.getParameter("price");

System.out.print(name);

Class.forName("com.mysql.cj.jdbc.Driver");

 

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", "root", "zhaowenzhe1007");

//使用 Statement 对象

//Statement stmt = con.createStatement();

String sql = "insert into bookinfo(bookname,author,price) values('" + bookname + "','" + author + "'," + price + ")";

//int i = stmt.executeUpdate(sql);

PreparedStatement stmt = con.prepareStatement("insert into student(uid,name,sex,birthday,address) values(?, ?, ?, ?, ?)");

System.out.print(sex);

stmt.setString(1, uid);

stmt.setString(2, name);

stmt.setString(3, sex);

stmt.setString(4, birthday);

stmt.setString(5, address);

int i = stmt.executeUpdate();

if (i == 1) {

out.println("<h2>添加成功!</h2><br/>");

out.println("<a href='index.jsp'>返回首页</a>");

} else {

out.println("<h2>添加失败!</h2><br/>");

out.println("<a href='add.jsp'>重新添加</a>");

}

stmt.close();

con.close();

%>

</body>

</html>

9) DEL.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>删除学生信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

Statement stmt=con.createStatement();

String uid=request.getParameter("uid");

int i=stmt.executeUpdate("delete from student where uid="+uid);

if(i==1)

{

out.println("<h2>删除成功!</h2><br/>");

}

else

{

out.println("<h2>删除失败!</h2><br/>");

}

out.println("<a href='index.jsp'>返回首页</a>");

stmt.close();

con.close();

%>

</body>

</html>

10) EDIT.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>修改学生信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

String uid = request.getParameter("uid");

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

//Statement stmt = con.createStatement();

//ResultSet rs = stmt.executeQuery("select * from bookinfo where

//id=" + id);

PreparedStatement stmt = con.prepareStatement("select * from student where uid=?");

stmt.setString(1, uid);

ResultSet rs = stmt.executeQuery();

rs.next();

%>

<form action="EDITSAVE.jsp" method="post">

<h2>修改学生信息</h2>

<table style="width:50%">

<tr>

<th width="30%">姓名:</th>

<td width="70%"><input name="name" type="text"

value="<%=rs.getString(2)%>"></td>

</tr>

<tr>

<th>出生日期:</th>

<td><input name="birthday" type="date"

value="<%=rs.getString(4)%>"></td>

</tr>

<tr>

<th>地址:</th>

<td><input name="address" type="text"

value="<%=rs.getString(5)%>"></td>

</tr>

<tr>

<td colspan="2">

<input type="hidden" name="uid" value="<%=uid%>">

<input type="submit" value="修改">

<input type="reset"value="重置">

</td>

</tr>

</table>

</form>

<%

rs.close();

stmt.close();

con.close();

%>

</body>

</html>

11) EDITSAVE.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>修改完成</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

String uid = request.getParameter("uid");

String name = request.getParameter("name");

String birthday = request.getParameter("birthday");

String address = request.getParameter("address");

System.out.println(uid+name+birthday+address);

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

Statement stmt = con.createStatement();

//String sql = "update student set name='" + name + "',birthday='"

//+ birthday + "',address=" + address + " where uid=" + uid;

String sql="update student set name='"+ name +"',birthday='"+

birthday +"',address='"+ address +"'where uid='"+ uid +"'";

int i = stmt.executeUpdate(sql);

if (i == 1) {

out.println("<h2>修改成功!</h2><br/>");

out.println("<a href='index.jsp'>返回首页</a>");

} else {

out.println("<h2>修改失败!</h2><br/>");

out.println("<a href='edit.jsp?uid='" + uid + ">重新添加</a>");

}

stmt.close();

con.close();

%>

</body>

</html>

12) Error.jsp文件代码

<%@ page language="java" isErrorPage="true" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<link rel="stylesheet" href="./CSS.css">

<title>error page</title>

</head>

<body>

错误信息为:<br/>

<%=exception.getMessage()%><br>

<%=exception.toString()%>

</body>

</html>

13) CSS.css文件代码

body {

text-align: center;

}

table {

width: 400px;

border: 1px solid #696969;

border-collapse: collapse;

margin:0 auto;

}

th {

border: 1px solid #696969;

background-color: #FFF8DC;

}

td {

text-align: center;

border: 1px solid #696969;

height: 50px;

background-color: #E0FFFF;

}

input {

font-size: 20px;

}

14) 程序截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

……

四、心得体会

通过本次实验,我不仅梳理了 JSP 与数据库交互的流程,也加深了对 Web 开发中展示页面和编辑页面使用场景的理解。在实际项目开发中,这些知识和技能将为我提供有力的支持,包括项目架构设计、前后端交互、数据库操作等方面。同时,我也意识到了代码质量和规范的重要性,特别是对于资源管理和错误处理的关注,将会在今后的编码过程中始终贯彻。

实验项目名称实验  Web数据库程序设计

 

一、实验目的

通过使用JSP技术设计一个简单的数据库管理系统,了解展示页面和编辑页面的区别,掌握Web服务器与MySQL数据库的连接和数据库操作的方法,掌握使用Java语言编写JSP文件的方法。

二、实验内容和基本要求

从以下列举的四个数据库中,任选其一,或者自行定义其他数据库,每个数据库中包含一张表,数据库名、表名、列名、列数据类型自行定义(提示:主键可以设为自增列):

1) 学生数据库:存储的信息包括学生学号、姓名、性别、生日等。

2) 商品数据库:存储的信息包括商品ID、商品名称、商品数量、生产厂家等。

3) 客户数据库:存储的信息包括客户ID、客户姓名、客户地址、手机号码等。

4) 车辆数据库:存储的信息包括汽车ID、品牌、颜色、车主姓名等。

开发一个数据库管理系统需要完成对以上数据库表中的记录的基本的查看、增加、修改和删除功能,参考系统文件关系如图1所示:

 

1 系统文件关系图

 

各个文件功能如下:

1) index.jsp:显示数据库表中的所有记录,每条记录均拥有两个超链接,分别指向edit.jspdel.jsp,这两个文件分别完成该条记录的编辑和删除功能。此外,该页面还需包含一个超链接指向add.jsp,完成新增一条记录的功能;

2) add.jsp:提供新增一条记录的页面,包含一个表单,若干输入框,该表单提交给addsave.jsp;

3) addsave.jsp:从add.jsp接收用户输入的数据,将数据插入数据库表中,并提示用户成功或者失败,提供一个超链接转向index.jsp;

4) edit.jsp:提供修改某一条记录的页面,包含一个表单,若干输入框,输入框初始值为该条记录原有数据,用户修改后,提交给editsave.jsp;

5) editsave.jsp:从edit.jsp接收用户输入的数据,修改数据库表中的对应记录,并提示用户成功或者失败,提供一个超链接转向index.jsp;

6) del.jsp:完成删除某一条记录的功能,并提示用户成功或者失败,提供一个超链接转向index.jsp;

7) error.jsp:作为其他所有页面的错误处理页面,该页面显示异常信息。

完成基本功能后,可以从以下方面对系统进行改进:

1) 对于客户端增加和修改信息页面,使用JavaScriptJqueryVue等技术进行必要的数据的非空验证

2) 自行添加一些CSS,使得页面和字体更加美观。

完成后,请将各个文件程序源代码和浏览器截图写入实验报告。

三、实验步骤

1) 打开MySQL WorkBench或其他客户端工具MySQL服务器上新建一个数据库。

2) 新建一个数据库表。

3) 在表中增加若干记录,作为初始数据。

 

 

 

4) 打开Eclipse软件,新建一个名为Lab03Web项目,并设置其部署程序为Tomcat

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5) Lab03添加文件,编写代码。

6) Index.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>学生信息管理系统</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<h1>学生信息管理系统</h1>

<a href="ADD.jsp">添加学生信息</a>

<br />

<br />

<table style="width: 50%;">

<tr>

<th>学号</th>

<th>姓名</th>

<th>性别</th>

<th>出生日期</th>

<th>地址</th>

<th>管理</th>

</tr>

<%

try {

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

//使用 Statement 对象

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("select * from student");

/*

PreparedStatement stmt = con.prepareStatement("select *

from bookinfo");

ResultSet rs = stmt.executeQuery();

*/

while (rs.next()) {

String uid = rs.getString(1);

out.println("<tr><td>" + rs.getString(1) +

"</td><td>" + rs.getString(2) + "</td><td>" + rs.getString(3) +

"</td><td>"

+ rs.getString(4) + "</td><td>" +

rs.getString(5) + "</td><td><a href='EDIT.jsp?uid=" + uid

+ "'>修改</a> <a href='DEL.jsp?uid="

+ uid + "'>删除</a></td></tr>");

}

rs.close();

stmt.close();

con.close();

} catch (Exception e) {

out.println("Exception:" + e.getMessage());

}

%>

</table>

</body>

</html>

7) ADD.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>添加学生信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<form name="info" action="addsave.jsp" method="post"

onsubmit="return check()">

<h2>添加学生信息</h2>

<table style="width: 50%">

<tr>

<th width="30%">学号:</th>

<td width="70%"><input name="uid" type="text"></td>

</tr>

<tr>

<th>姓名:</th>

<td><input name="name" type="text"></td>

</tr>

<tr>

<th>性别:</th>

<td>

<input type="radio" name="sex" value="男">男

<input type="radio" name="sex" value="女">女

</td>

</tr>

<tr>

<th>出生日期:</th>

<td><input type="date" name="birthday"></td>

</tr>

<tr>

<th>地址:</th>

<td><input name="address" type="text"></td>

</tr>

<tr>

<td colspan="2">

<input type="submit" name="submit" value="提交">

<input type="reset" value="重置">

</td>

</tr>

</table>

</form>

</body>

<script type="text/javascript">

function check(){

if(info.name.value==""||info.name.value==null){

alert("请输入姓名!");

return false;

}

if(info.sex.value==""||info.sex.value==null){

alert("请选择性别!");

return false;

}

if(info.birthday.value==""||info.birthday.value==null){

alert("请选择出生日期!");

return false;

}

if(info.address.value==""||info.address.value==null){

alert("请输入地址!");

return false;

}

}

</script>

</html>

8) Addsave.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>添加图书信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

String uid = request.getParameter("uid");

String name = request.getParameter("name");

String sex = request.getParameter("sex");

String birthday = request.getParameter("birthday");

String address = request.getParameter("address");

String bookname = request.getParameter("bookname");

String author = request.getParameter("author");

String price = request.getParameter("price");

System.out.print(name);

Class.forName("com.mysql.cj.jdbc.Driver");

 

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", "root", "zhaowenzhe1007");

//使用 Statement 对象

//Statement stmt = con.createStatement();

String sql = "insert into bookinfo(bookname,author,price) values('" + bookname + "','" + author + "'," + price + ")";

//int i = stmt.executeUpdate(sql);

PreparedStatement stmt = con.prepareStatement("insert into student(uid,name,sex,birthday,address) values(?, ?, ?, ?, ?)");

System.out.print(sex);

stmt.setString(1, uid);

stmt.setString(2, name);

stmt.setString(3, sex);

stmt.setString(4, birthday);

stmt.setString(5, address);

int i = stmt.executeUpdate();

if (i == 1) {

out.println("<h2>添加成功!</h2><br/>");

out.println("<a href='index.jsp'>返回首页</a>");

} else {

out.println("<h2>添加失败!</h2><br/>");

out.println("<a href='add.jsp'>重新添加</a>");

}

stmt.close();

con.close();

%>

</body>

</html>

9) DEL.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>删除学生信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

Statement stmt=con.createStatement();

String uid=request.getParameter("uid");

int i=stmt.executeUpdate("delete from student where uid="+uid);

if(i==1)

{

out.println("<h2>删除成功!</h2><br/>");

}

else

{

out.println("<h2>删除失败!</h2><br/>");

}

out.println("<a href='index.jsp'>返回首页</a>");

stmt.close();

con.close();

%>

</body>

</html>

10) EDIT.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>修改学生信息</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

String uid = request.getParameter("uid");

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

//Statement stmt = con.createStatement();

//ResultSet rs = stmt.executeQuery("select * from bookinfo where

//id=" + id);

PreparedStatement stmt = con.prepareStatement("select * from student where uid=?");

stmt.setString(1, uid);

ResultSet rs = stmt.executeQuery();

rs.next();

%>

<form action="EDITSAVE.jsp" method="post">

<h2>修改学生信息</h2>

<table style="width:50%">

<tr>

<th width="30%">姓名:</th>

<td width="70%"><input name="name" type="text"

value="<%=rs.getString(2)%>"></td>

</tr>

<tr>

<th>出生日期:</th>

<td><input name="birthday" type="date"

value="<%=rs.getString(4)%>"></td>

</tr>

<tr>

<th>地址:</th>

<td><input name="address" type="text"

value="<%=rs.getString(5)%>"></td>

</tr>

<tr>

<td colspan="2">

<input type="hidden" name="uid" value="<%=uid%>">

<input type="submit" value="修改">

<input type="reset"value="重置">

</td>

</tr>

</table>

</form>

<%

rs.close();

stmt.close();

con.close();

%>

</body>

</html>

11) EDITSAVE.jsp文件代码

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" errorPage="error.jsp"%>

<html>

<head>

<title>修改完成</title>

<link rel="stylesheet" href="./CSS.css">

</head>

<body>

<%

request.setCharacterEncoding("UTF-8");

String uid = request.getParameter("uid");

String name = request.getParameter("name");

String birthday = request.getParameter("birthday");

String address = request.getParameter("address");

System.out.println(uid+name+birthday+address);

Class.forName("com.mysql.cj.jdbc.Driver");

Connection con =DriverManager.getConnection("jdbc:mysql://localhost:5418/web?&useSSL=false&serverTimezone=UTC", "root", "zhaowenzhe1007");

Statement stmt = con.createStatement();

//String sql = "update student set name='" + name + "',birthday='"

//+ birthday + "',address=" + address + " where uid=" + uid;

String sql="update student set name='"+ name +"',birthday='"+

birthday +"',address='"+ address +"'where uid='"+ uid +"'";

int i = stmt.executeUpdate(sql);

if (i == 1) {

out.println("<h2>修改成功!</h2><br/>");

out.println("<a href='index.jsp'>返回首页</a>");

} else {

out.println("<h2>修改失败!</h2><br/>");

out.println("<a href='edit.jsp?uid='" + uid + ">重新添加</a>");

}

stmt.close();

con.close();

%>

</body>

</html>

12) Error.jsp文件代码

<%@ page language="java" isErrorPage="true" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<link rel="stylesheet" href="./CSS.css">

<title>error page</title>

</head>

<body>

错误信息为:<br/>

<%=exception.getMessage()%><br>

<%=exception.toString()%>

</body>

</html>

13) CSS.css文件代码

body {

text-align: center;

}

table {

width: 400px;

border: 1px solid #696969;

border-collapse: collapse;

margin:0 auto;

}

th {

border: 1px solid #696969;

background-color: #FFF8DC;

}

td {

text-align: center;

border: 1px solid #696969;

height: 50px;

background-color: #E0FFFF;

}

input {

font-size: 20px;

}

 

四、心得体会

通过本次实验,我不仅梳理了 JSP 与数据库交互的流程,也加深了对 Web 开发中展示页面和编辑页面使用场景的理解。在实际项目开发中,这些知识和技能将为我提供有力的支持,包括项目架构设计、前后端交互、数据库操作等方面。同时,我也意识到了代码质量和规范的重要性,特别是对于资源管理和错误处理的关注,将会在今后的编码过程中始终贯彻。

posted @ 2024-06-11 23:04  痛苦代码源  阅读(53)  评论(0)    收藏  举报