浏览器[客户端]简单操作数据库
大致目录文件如下:
在src文件夹下建包,并导入数据库驱动,编辑javaBean代码:
package com.wu.javaBeanDemo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @date 2020-11-30 10:34:50
* @author 一夜星尘
* @version 1.8.0
*/
public class JDBC {
private String DATABASE_DRIVER = "com.mysql.cj.jdbc.Driver"; // MySQL驱动
private String DATABASE_URL = "jdbc:mysql://localhost:3306/test" // 确定数据库的端口以及数据库
+ "?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC"; // 配置信息
private String DATABASE_USER; // 用户名
private String DATABASE_PASSWORD ; // 用户密码
public JDBC() {
}
public JDBC(String user , String password) {
this.DATABASE_USER = user;
this.DATABASE_PASSWORD = password;
}
/**
* 增添数据
* @param sno
* @param sname
* @param ssex
* @param sage
* @param sdept
* @return
* @throws Exception
*/
public boolean insertInfo(String sno , String sname, String ssex , String sage , String sdept) throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName(DATABASE_DRIVER); // 注册驱动
conn = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD); // 连接数据库
String sql = "insert into student(sno,sname,ssex,sage,sdept) values(?,?,?,?,?)";
pstmt = conn.prepareStatement(sql); // 获取数据库操作对象
pstmt.setString(1,sno);
pstmt.setString(2,sname);
pstmt.setString(3,ssex);
pstmt.setString(4,sage);
pstmt.setString(5,sdept);
int num = pstmt.executeUpdate();
return num == 1 ;
}catch(SQLException e) {
e.printStackTrace();
return false;
}finally{
// 释放资源
// 遵循从小到大依次关闭
try {
if(pstmt != null) {
pstmt.close();
}
}catch(SQLException e) {
e.printStackTrace();
return false;
}
try {
if(conn != null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
return false;
}
}
}
/**
* 删除数据
* @param sno
* @param sname
* @param ssex
* @param sage
* @param sdept
* @return
* @throws Exception
*/
public boolean deleteInfo(String sno , String sname, String ssex , String sage , String sdept) throws Exception {
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName(DATABASE_DRIVER); // 注册驱动
conn = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD); // 连接数据库
String sql = "delete from student where sno = ? and sname = ? and ssex = ? and sage = ? and sdept = ?";
pstmt = conn.prepareStatement(sql); // 获取数据库操作对象
pstmt.setString(1,sno);
pstmt.setString(2,sname);
pstmt.setString(3,ssex);
pstmt.setString(4,sage);
pstmt.setString(5,sdept);
int num = pstmt.executeUpdate();
return num >= 1 ;
}catch(SQLException e) {
e.printStackTrace();
return false;
}finally{
// 释放资源
// 遵循从小到大依次关闭
try {
if(pstmt != null) {
pstmt.close();
}
}catch(SQLException e) {
e.printStackTrace();
return false;
}
try {
if(conn != null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
return false;
}
}
}
public String[][] lookInfo() throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String[][] info = null;
try {
Class.forName(DATABASE_DRIVER);
conn = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
String sql = "select sno , sname , ssex , sage , sdept from student";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
int i = 0;
info = new String[1000][5];
while(rs.next()) {
info[i][0] = rs.getString("sno");
info[i][1] = rs.getString("sname");
info[i][2] = rs.getString("ssex");
info[i][3] = rs.getString("sage");
info[i][4] = rs.getString("sdept");
i++;
}
return info;
}catch(SQLException e) {
return info;
}finally{
try {
if(rs != null) {
rs.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
try {
if(pstmt != null) {
pstmt.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
try {
if(conn != null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}
/**
* 修改数据
* @param priSno
* @param priSname
* @param priSsex
* @param priSage
* @param priSdept
* @param newSno
* @param newSname
* @param newSsex
* @param newSage
* @param newSdept
* @return
* @throws Exception
*/
public boolean changeInfo(String priSno , String priSname, String priSsex , String priSage , String priSdept,
String newSno , String newSname, String newSsex , String newSage , String newSdept) throws Exception {
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName(DATABASE_DRIVER); // 注册驱动
conn = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD); // 连接数据库
String sql = "update student set sno = ?,sname = ?,ssex = ?,sage = ?,sdept = ? "
+ "where sno = ? and sname = ? and ssex = ? and sage = ? and sdept = ?";
pstmt = conn.prepareStatement(sql); // 获取数据库操作对象
pstmt.setString(1,newSno);
pstmt.setString(2,newSname);
pstmt.setString(3,newSsex);
pstmt.setString(4,newSage);
pstmt.setString(5,newSdept);
pstmt.setString(6,priSno);
pstmt.setString(7,priSname);
pstmt.setString(8,priSsex);
pstmt.setString(9,priSage);
pstmt.setString(10,priSdept);
int count = pstmt.executeUpdate();
return count == 1 ;
}catch(SQLException e) {
e.printStackTrace();
return false;
}finally{
// 释放资源
// 遵循从小到大依次关闭
try {
if(pstmt != null) {
pstmt.close();
}
}catch(SQLException e) {
e.printStackTrace();
return false;
}
try {
if(conn != null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
return false;
}
}
}
public int getCount() throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
Class.forName(DATABASE_DRIVER); // 注册驱动
conn = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD); // 连接数据库
String sql = "select count(*) from student";
pstmt = conn.prepareStatement(sql); // 获取数据库操作对象
rs = pstmt.executeQuery();
rs.next();
return rs.getInt(1); // 获取长度
}catch(SQLException e) {
e.printStackTrace();
return -1;
}finally{
// 释放资源
// 遵循从小到大依次关闭
try {
if(pstmt != null) {
pstmt.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
try {
if(conn != null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}
/**
* @return the dATABASE_DRIVER
*/
public String getDATABASE_DRIVER() {
return DATABASE_DRIVER;
}
/**
* @param dATABASE_DRIVER the dATABASE_DRIVER to set
*/
public void setDATABASE_DRIVER(String dATABASE_DRIVER) {
DATABASE_DRIVER = dATABASE_DRIVER;
}
/**
* @return the dATABASE_URL
*/
public String getDATABASE_URL() {
return DATABASE_URL;
}
/**
* @param dATABASE_URL the dATABASE_URL to set
*/
public void setDATABASE_URL(String dATABASE_URL) {
DATABASE_URL = dATABASE_URL;
}
/**
* @return the dATABASE_USER
*/
public String getDATABASE_USER() {
return DATABASE_USER;
}
/**
* @param dATABASE_USER the dATABASE_USER to set
*/
public void setDATABASE_USER(String dATABASE_USER) {
DATABASE_USER = dATABASE_USER;
}
/**
* @return the dATABASE_PASSWORD
*/
public String getDATABASE_PASSWORD() {
return DATABASE_PASSWORD;
}
/**
* @param dATABASE_PASSWORD the dATABASE_PASSWORD to set
*/
public void setDATABASE_PASSWORD(String dATABASE_PASSWORD) {
DATABASE_PASSWORD = dATABASE_PASSWORD;
}
}
可能出现的问题:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
原因以及解决方案:
1.可能读者没有导入驱动包,具体导入方式请读者看这篇文章。
2.驱动包已经导入成功,但是没放置在WEB-INF中的lib目录下形成依赖,具体请将jar包放到该目录下。
3.如果读者导入失败,具体为在eclipse项目WEB-INF目录下的lib目录结构下未曾找依然未曾有驱动包,这时需要该项目的绝对路径下再导入驱动包。
如下:
本来已经将文件放入WEB-INF目录下的lib文件夹下,但是eclipse中相应的包未显示:
解决方案:
首先需要知道该类的绝对路径:
System.out.println(this.getClass().getResource("/").getPath());
通过输出在控制台上的路径,找到类的绝对路径,并复制驱动包到此时的lib文件夹下,可以发现此时的lib文件夹为空:
复制驱动包到lib目录下即可
index.jsp代码:
<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>主页</title>
</head>
<body>
<br><hr><br><br>
<div align = "center" style = "bg-color: red">
<form action="menu.jsp" method="post" >
<table border="1" >
<tr>
<td colspan="2"><div align = "center"><b>登录</b></div> </td>
</tr>
<tr>
<td>账号:</td>
<td><input type="text" name = "user" value = "user"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type= "password" name = "password" /></td>
</tr>
<tr>
<td colspan="2" ><div align = "center"><input type="submit" /></div></td>
</tr>
</table>
</form>
</div>
</body>
</html>
menu.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜单界面</title>
<style type = "text/css">
body{
background-color : gray;
}
.menu{
font-size: 22px;
}
.choose {
text-decoration: none;
color : #ff0000;
}
</style>
</head>
<body >
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<%
// request通过保存到session中增加生命周期
if(session.getAttribute("user") == null){
session.setAttribute("user", request.getParameter("user"));
session.setAttribute("password",request.getParameter("password"));
}
%>
<br>
<div align = "center" >
<h2>欢迎您!用户:<%=(String)session.getAttribute("user") %></h2>
<br><hr><br>
<table >
<tr>
<td ><div align = "center" class = "menu"><b>功能菜单</b></div><br></td>
</tr>
<tr>
<td><div align = "center" ><a href = "toInsert.jsp" class = "choose" >增加数据</a></div></td>
</tr>
<tr>
<td><div align = "center" ><a href = "toDelete.jsp" class = "choose" >删除数据</a></div></td>
</tr>
<tr>
<td><div align = "center" ><a href = "toLook.jsp" class = "choose" >查看数据</a></div></td>
</tr>
<tr>
<td><div align = "center" ><a href = "toChange.jsp" class = "choose" >修改数据</a></div></td>
</tr>
</table>
</div>
</body>
</html>
toInsert.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>增添数据</title>
<style type = "text/css">
#title{
background-color:gray;
}
</style>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" ><h1 id = "title">欢迎您! 用户:<%=(String)session.getAttribute("user") %></h1>
<hr></div><br>
<div align = "right"><a href = "menu.jsp" style="text-decoration: none;" >返回</a></div>
<div align = "center" >
<form action="insert.jsp" method="post" >
<table border="1" >
<tr>
<td colspan = "2"><div align = "center"><b>学生信息</b></div></td>
</tr>
<tr>
<td>学生学号:</td>
<%-- 这里的name要和Student属性的name保持一致 --%>
<td><input type="text" name="sno"></td>
</tr>
<tr>
<td>学生姓名:</td>
<td><input type="text" name="sname"></td>
</tr>
<tr>
<td>学生性别:</td>
<td><input type="text" name="ssex"></td>
</tr>
<tr>
<td>学生年龄:</td>
<td><input type="text" name ="sage"></td>
</tr>
<tr>
<td>学生专业:</td>
<td><input type="text" name ="sdept"></td>
</tr>
<tr >
<td colspan = "2">
<div align = "center"><input type = "submit" value = "录入"></div>
<div align = "center" ><input type = "reset" value = "重置"></div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
insert.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="com.wu.javaBeanDemo.JDBC" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>增添结果</title>
<style type = "text/css">
#insertTitle{
background-color:gray;
}
</style>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" id = "insertTitle"><h1>用户:<%=(String)session.getAttribute("user") %></h1></div>
<hr><br>
<%
com.wu.javaBeanDemo.JDBC jdbc = new com.wu.javaBeanDemo.JDBC((String)session.getAttribute("user"),
(String)session.getAttribute("password"));
if(jdbc.insertInfo(request.getParameter("sno"), request.getParameter("sname"),
request.getParameter("ssex"),request.getParameter("sage") ,
request.getParameter("sdept"))){
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"> <h2>添加成功</h2></div>");
}else{
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"> <h2>添加失败</h2></div>");
out.print("<br><div align = \"center\" >失败原因</div><br>");
out.print("<div align = \"center\"><b>账号错误</b></div><br>");
out.print("<div align = \"center\"><b>密码错误</b></div><br>");
out.print("<div align = \"center\"><b>操作非法</b></div><br>");
out.print("<div align = \"center\"><b>数据异常</b></div>");
}
%>
</body>
</html>
toDelete.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>删除数据</title>
<style type = "text/css">
#title{
background-color:gray;
}
</style>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" ><h1 id = "title">欢迎您! 用户:<%=(String)session.getAttribute("user") %></h1>
<hr></div><br>
<div align = "right"><a href = "menu.jsp" style="text-decoration: none;" >返回</a></div>
<div align = "center" >
<form action="delete.jsp" method="post" >
<table border="1" >
<tr>
<td colspan = "2"><div align = "center"><b>学生信息</b></div></td>
</tr>
<tr>
<td>学生学号:</td>
<%-- 这里的name要和Student属性的name保持一致 --%>
<td><input type="text" name="sno"></td>
</tr>
<tr>
<td>学生姓名:</td>
<td><input type="text" name="sname"></td>
</tr>
<tr>
<td>学生性别:</td>
<td><input type="text" name="ssex"></td>
</tr>
<tr>
<td>学生年龄:</td>
<td><input type="text" name ="sage"></td>
</tr>
<tr>
<td>学生专业:</td>
<td><input type="text" name ="sdept"></td>
</tr>
<tr >
<td colspan = "2">
<div align = "center"><input type = "submit" value = "删除"></div>
<div align = "center" ><input type = "reset" value = "重置"></div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
delete.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="com.wu.javaBeanDemo.JDBC" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>删除结果</title>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" id = "insertTitle"><h1>用户:<%=(String)session.getAttribute("user") %></h1></div>
<hr><br>
<%
com.wu.javaBeanDemo.JDBC jdbc = new com.wu.javaBeanDemo.JDBC((String)session.getAttribute("user"),
(String)session.getAttribute("password"));
if(jdbc.deleteInfo(request.getParameter("sno"), request.getParameter("sname"),
request.getParameter("ssex"),request.getParameter("sage") ,
request.getParameter("sdept"))){
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"> <h2>删除成功</h2></div>");
}else{
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"> <h2>删除失败</h2></div>");
out.print("<br><div align = \"center\" >失败原因</div><br>");
out.print("<div align = \"center\"><b>账号错误</b></div><br>");
out.print("<div align = \"center\"><b>密码错误</b></div><br>");
out.print("<div align = \"center\"><b>操作非法</b></div><br>");
out.print("<div align = \"center\"><b>数据异常</b></div>");
}
%>
</body>
</html>
toLook.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.wu.javaBeanDemo.JDBC" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>查看数据</title>
<style type = "text/css">
#title{
background-color:gray;
}
</style>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" ><h1 id = "title">用户:<%=(String)session.getAttribute("user") %></h1>
<hr></div><br>
<%
com.wu.javaBeanDemo.JDBC jdbc = new com.wu.javaBeanDemo.JDBC((String)session.getAttribute("user"),
(String)session.getAttribute("password"));
String[][] info = jdbc.lookInfo();
if(info != null){
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"><table border=\"1\">");
for(int i = 0 ; i < jdbc.getCount() ; i++){
out.print("<tr><td><div align = \"center\"><b>学生学号</b></div></td><td><div align = \"center\"><b>"
+ info[i][0] +
"</b></td></tr><tr><td><div align = \"center\"><b>学生姓名</b></div></td><td><div align = \"center\"><b>"
+info[i][1] +
"</b></td></tr><tr><td><div align = \"center\"><b>学生性别</b></div></td><td><div align = \"center\"><b>"
+info[i][2]+
"</b></td></tr><tr><td><div align = \"center\"><b>学生年龄</b></div></td><td><div align = \"center\"><b>"
+ info[i][3] +
"</b></td></tr><tr><td><div align = \"center\"><b>学生专业</b></div></td><td><div align = \"center\"><b>"
+info[i][4]+
"</b></td></tr>");
}
out.print("<table></div>");
}else{
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a><div>");
out.print("<div align = \"center\"> <h2>查找失败</h2></div>");
out.print("<br><div align = \"center\" >失败原因<div><br>");
out.print("<div align = \"center\"><b>账号错误</b><div><br>");
out.print("<div align = \"center\"><b>密码错误</b><div><br>");
out.print("<div align = \"center\"><b>操作非法</b><div>");
}
%>
</body>
</html>
toChange.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>修改数据</title>
<style type = "text/css">
#title{
background-color:gray;
}
</style>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" ><h1 id = "title">欢迎您! 用户:<%=(String)session.getAttribute("user") %></h1>
<hr></div><br>
<div align = "right"><a href = "menu.jsp" style="text-decoration: none;" >返回</a></div>
<div align = "center" >
<form action="change.jsp" method="post" >
<table border="1" >
<tr>
<td colspan = "2"><div align = "center"><b>原始学生信息</b></div></td>
<td colspan = "2"><div align = "center"><b>修正学生信息</b></div></td>
</tr>
<tr>
<td>原始学生学号:</td>
<td><input type="text" name="priSno"></td>
<td>修正学生学号:</td>
<td><input type="text" name="newSno"></td>
</tr>
<tr>
<td>原始学生姓名:</td>
<td><input type="text" name="priSname"></td>
<td>修正学生姓名:</td>
<td><input type="text" name="newSname"></td>
</tr>
<tr>
<td>原始学生性别:</td>
<td><input type="text" name="priSsex"></td>
<td>修正学生性别:</td>
<td><input type="text" name="newSsex"></td>
</tr>
<tr>
<td>原始学生年龄:</td>
<td><input type="text" name ="priSage"></td>
<td>修正学生年龄:</td>
<td><input type="text" name ="newSage"></td>
</tr>
<tr>
<td>原始学生专业:</td>
<td><input type="text" name ="priSdept"></td>
<td>修正学生专业:</td>
<td><input type="text" name ="newSdept"></td>
</tr>
<tr >
<td colspan = "4">
<div align = "center"><input type = "submit" value = "修改"></div>
<div align = "center" ><input type = "reset" value = "重置"></div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
change.jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="com.wu.javaBeanDemo.JDBC" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>修改结果</title>
</head>
<body>
<%-- 以下解决中文乱码问题 --%>
<% request.setCharacterEncoding("utf-8"); %>
<div align = "center" id = "insertTitle"><h1>用户:<%=(String)session.getAttribute("user") %></h1></div>
<hr><br>
<%
com.wu.javaBeanDemo.JDBC jdbc = new com.wu.javaBeanDemo.JDBC((String)session.getAttribute("user"),
(String)session.getAttribute("password"));
if(jdbc.changeInfo(request.getParameter("priSno"), request.getParameter("priSname"),
request.getParameter("priSsex"),request.getParameter("priSage") ,
request.getParameter("priSdept"),request.getParameter("newSno"),request.getParameter("newSname"),
request.getParameter("newSsex"),request.getParameter("newSage"),request.getParameter("newSdept"))){
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"> <h2>修改成功</h2></div>");
}else{
out.print("<div align = \"right\"><a href = \"menu.jsp\" style=\"text-decoration: none;\" >返回</a></div>");
out.print("<div align = \"center\"> <h2>修改失败</h2></div>");
out.print("<br><div align = \"center\" >失败原因</div><br>");
out.print("<div align = \"center\"><b>账号错误</b></div><br>");
out.print("<div align = \"center\"><b>密码错误</b></div><br>");
out.print("<div align = \"center\"><b>操作非法</b></div><br>");
out.print("<div align = \"center\"><b>数据异常</b></div>");
}
%>
</body>
</html>
index.jsp效果:
menu.jsp效果:
toInsert.jsp效果:
insert.jsp效果:
toDelete.jsp效果:
delete.jsp效果:
toLook.jsp效果:
toChange.jsp效果:
change.jsp效果: