1、实验目的
通过使用 Java Web 技术设计一个简单的数据库管理系统,了解前台页面和后 台编辑页面的区别,掌握 Web 服务器与 MySQL 数据库的连接和数据库操作的方 法,掌握使用 JSP 编写后台代码的方法。
2、实验内容和要求
开发一个学生管理系统,完成学生信息的查看、增加、删除和修改等功能。 对于客户端增加和修改信息页面,要使用 javascript 进行必要的数据的非空验证。 自行添加一些 css,使得页面和字体更加美观。
3、实验步骤及实验结果
(1)打开 MySQL,新建一个数据库名为 StudentManagement。
(2)新建一个数据库表名为 Student,具有学号,姓名,性别,出生年月,住址等 信息,自行定义列名及类型。
(3)在 Student 表中增加若干记录,作为初始数据。
(4)打开 Eclipse 软件,新建一个名为 lab03 的 Web 项目。
(5)在 lab03 中编写代码。
(6)可以自行练习定义一些 css,使页面和字体更加美观。
实验结果:
(以下列出:文件夹结构截图、所有文件的列表、功能说明、代码及运行结果截图)
1.文件夹结构图
2.所有文件的列表
1.功能说明
1.实现学生信息管理系统模拟
2.可以连接数据库进行数据的增删改查
3.可以add一条学生信息
4.可以删除一条学生信息
5.可以更改一条学生信息
4.代码
<%@ page contentType="text/html; charset=gb2312" import="java.sql.*" errorPage="error.jsp" %>
<html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<title>添加学生信息</title>
</head>
<body>
<form action="add.jsp" method="post">
<table align="center" width="50%" border="1" >
<caption style="font-size: 24px">添加学生信息</caption>
<tr>
<th width="30%" height="111" style="font-size: 24px">学号:</th>
<td width="70%"><input name="number" type="text"></td>
</tr>
<tr>
<th height="95" style="font-size: 24px">姓名:</th>
<td><input name="name" type="text"></td>
</tr>
<tr>
<th height="99" style="font-size: 24px">性别:</th>
<td><input name="sex" type="text"></td>
</tr>
<tr>
<th height="107" style="font-size: 24px">出生日期:</th>
<td><input name="date" type="text"></td>
</tr>
<tr>
<th height="113" style="font-size: 24px">地址:</th>
<td><input name="adress" type="text"></td>
</tr>
<tr>
<th colspan="2">
<input type="submit" name="submit" value="添加">
<input type="reset" value="重置">
</th>
</tr>
</table>
</form>
<%
request.setCharacterEncoding("gb2312");
String submit=request.getParameter("submit");
if(submit!=null&&!submit.equals(""))
{
String number=request.getParameter("number");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String date=request.getParameter("date");
String adress=request.getParameter("adress");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/studentmanagement?useUnicode=true&characterEncoding=gb2312","root","yubaba");
Statement stmt=con.createStatement();
String sql="insert into student(number,name,sex,date,adress) values(‘"+number+"‘,‘"+name+"‘,‘"+sex+"‘,‘"+date+"‘,‘"+adress+"‘)";
int i=stmt.executeUpdate(sql);
if(i==1)
{
out.println("<script language=‘javaScript‘> alert(‘添加成功,点击确定跳转到主页!‘);</script>");
response.setHeader("refresh","1;url=index.jsp");
}
else{
out.println("<script language=‘javaScript‘> alert(‘添加失败,点击确定返回添加页面!‘);</script>");
response.setHeader("refresh","1;url=add.jsp");
}
stmt.close();
con.close();
}
%>
</body>
</html>
<%@ page import="java.sql.*" pageEncoding="gb2312" errorPage="error.jsp"%>
<html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<title>修改学生信息</title>
</head>
<body>
<%
request.setCharacterEncoding("gb2312");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/studentmanagement?useUnicode=true&characterEncoding=gb2312","root","yubaba");
Statement stmt=con.createStatement();
String id=request.getParameter("id");
ResultSet rs=stmt.executeQuery("select * from student where id="+id);
rs.next();
%>
<form action="update.jsp" method="post">
<table align="center" width="50%" border="1">
<caption style="font-size: 24px">修改学生信息</caption>
<tr>
<th width="30%" height="123" style="font-size: 24px">学号:</th>
<td width="70%"><input name="number" type="text" value="<%=rs.getString(2)%>"></td>
</tr>
<tr>
<th height="103" style="font-size: 24px">姓名:</th>
<td><input name="name" type="text" value="<%=rs.getString(3)%>"></td>
</tr>
<tr>
<th height="110" style="font-size: 24px">性别:</th>
<td><input name="sex" type="text" value="<%=rs.getString(4)%>"></td>
</tr>
<tr>
<th height="116" style="font-size: 24px">出生日期:</th>
<td><input name="date" type="text" value="<%=rs.getString(5)%>"></td>
</tr>
<tr>
<th height="116" style="font-size: 24px">地址:</th>
<td><input name="adress" type="text" value="<%=rs.getString(6)%>"></td>
</tr>
<tr>
<th colspan="2">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="修改">
<input type="reset" value="重置">
</th>
</tr>
</table>
</form>
<%
rs.close();
stmt.close();
con.close();
%>
</body>
</html>
<%@ page language="java" import="java.sql.*" pageEncoding="gb2312"%>
<%@ page errorPage="error.jsp"%>
<html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<title>学生管理系统</title>
</head>
<body>
<center><a href=add.jsp style="font-size: 24px">添加学生信息</a></center><p>
<table align="center" width="50%" border=1>
<tr><th height="50" style="font-size: 16px">学号</th><th style="font-size: 16px">姓名</th><th style="font-size: 16px">性别</th><th style="font-size: 16px">出生日期</th><th style="font-size: 16px">地址</th><th style="font-size: 16px">管理</th>
<%
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/studentmanagement?useUnicode=true&characterEncoding=gb2312","root","yubaba");
Statement stmt=con.createStatement();
String s="select * from student";
ResultSet rs=stmt.executeQuery(s);
while(rs.next())
{
int id=rs.getInt(1);
out.println("<tr><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td>"+rs.getString(5)+"</td><td>"+rs.getString(6)+"</td><td><a href=‘edit.jsp?id="+id+"‘>修改</a> <a href=‘del.jsp?id="+id+"‘>删除</a></td></tr>");
}
rs.close();
stmt.close();
con.close();
%>
</table>
</body>
</html>
5.运行截图
4、实验心得
1.连接数据库时要注意数据库的名字和表的名字不能写错,同时出现乱码是要参考网页默认的编码类型,在连接数据库的时候设定你默认的编码类型比如:?characterEncoding=gb2312
2.增删改查页面的跳转要掌握好
3.css外联样式比较方便,以后可以多使用,更加熟悉