一、实验目的
理解和巩固课堂上所学的数据库的开发与使用方法,提高学生对知识的实际运用与软件编程实现能力。
二、实验内容
设计实现一个数据库操作程序。具体步骤如下:1、在mysql中建立一个数据库student,然后在数据库student中建立userinfo表,该表中可以包含三个字段:name(varchar)学生姓名、age(int)年龄、school(varchar)学校。2、设计一个index.jsp页面,访问student数据库,并且在页面中显示学生相关信息。3、除了上述的查询功能之外,可以增加(添加、更新、删除记录)功能(可选)。4、查询功能可以增加分页功能(可选)。
三、实验要求
- 文件名字不要使用中文,文件名字首字母小写。2. 第一个文件命名为为index.jsp。3. 所有文件打成一个文件压缩包提交。压缩包文件命名规则:计181-01-姓名。4. 在程序中的title或者注释等地方加入个人名字信息。 5.提交程序运行成功结果截图,可以截多张图。
//index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>xxx</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%
Connection con = null;
Statement st = null;
ResultSet rs = null;
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
//建立连接
con=DriverManager.getConnection("jdbc:mysql://localhost:3307/student?characterEncoding=utf-8","root","101017xpp");
st = con.createStatement();
//发送查询SQL语句,返回结果集
rs = st.executeQuery("select * from userinfo ");
while(rs.next()){
out.print(rs.getString("name") + " ");
out.print(rs.getString("age") + " ");
out.print(rs.getString("school") + " ");
out.print("<br>");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs.close();
st.close();
con.close();
}
%>
</body>
</html>
//addStudent.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>xxx</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="/shiyan10/add_student" method="post">
<table border="1">
<tr>
<td>姓名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age"/></td>
</tr>
<tr>
<td>学校</td>
<td><input type="text" name="school"/></td>
</tr>
<tr>
<td><input type="submit" value="添加"></td>
<td><input type="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
//add_student.java (student包)
package student;
import javax.servlet.*;
public class add_student extends HttpServlet
{
public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException
{
res.setContentType("text/html;charset=utf-8");
PrintWriter out = res.getWriter();
req.setCharacterEncoding("utf-8");
String name= req.getParameter("name");
String age= req.getParameter("age");
}
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException,IOException
{
doGet(req,res);
}
}
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<servlet>
<servlet-name>add_student</servlet-name>
<servlet-class>student.add_student</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>add_student</servlet-name>
<url-pattern>/add_student</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
(这次作业就用到数据库了,下MySQL和navicat)