Model1模式的学生信息增删改查

时间:2021-10-22 14:27:58

Student.java

package entity;

public class Student {
private int stuid;
private String stuname;
private String gender; public int getStuid() {
return stuid;
} public void setStuid(int stuid) {
this.stuid = stuid;
} public String getStuname() {
return stuname;
} public void setStuname(String stuname) {
this.stuname = stuname;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} public Student()
{ }
public Student(int stuid, String stuname, String gender) {
super();
stuid = this.stuid;
stuname = this.stuname;
gender = this.gender;
} }

Model.java

package model;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import entity.Student; import util.DBUtil; public class Model {
private Statement sta;
private ResultSet rs;
PreparedStatement ps;
DBUtil u=new DBUtil(); public int Insert(int stuid,String stuname,String gender) throws SQLException{
Connection conn=u.getCon();
String sql="insert student values(?,?,?)";
ps=conn.prepareStatement(sql);
ps.setInt(1,stuid);
ps.setString(2,stuname);
ps.setString(3,gender);
int a=ps.executeUpdate();
return a;
} public int delete(int stuid) throws SQLException{
Connection conn=u.getCon();
String sql="delete from student where stuid=?";
ps=conn.prepareStatement(sql);
ps.setInt(1,stuid);
int a=ps.executeUpdate();
return a;
} public int update(int stuid,String stuname,String gender) throws SQLException{
Connection conn=u.getCon();
String sql="update student set stuname=?,gender=? where stuid=?";
ps=conn.prepareStatement(sql);
ps.setInt(3,stuid);
ps.setString(1,stuname);
ps.setString(2,gender);
int a=ps.executeUpdate();
return a;
}
public List<Student> queryAll() throws SQLException{
List<Student> students=new ArrayList<Student>();
Connection conn=u.getCon();
String sql="select * from student";
sta=conn.createStatement();
rs=sta.executeQuery(sql);
while(rs.next()){
Student student=new Student();
student.setStuid(rs.getInt("stuid"));
student.setStuname(rs.getString("stuname"));
student.setGender(rs.getString("gender"));
students.add(student);
}
return students;
} public Student queryById(int stuid) throws SQLException{
Student student=new Student();
Connection conn=u.getCon();
String sql="select * from student where stuid=?";
ps=conn.prepareStatement(sql);
ps.setInt(1,stuid);
rs=ps.executeQuery();
if(rs.next()){
student.setStuid(rs.getInt("stuid"));
student.setStuname(rs.getString("stuname"));
student.setGender(rs.getString("gender"));
}
return student; } }

EncodingFilter.java

package servlet;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class EncodingFilter implements Filter { private String encoding = null;
public void init(FilterConfig config) throws ServletException {
this.encoding = config.getInitParameter("encoding");
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(this.encoding);
response.setCharacterEncoding(encoding);
chain.doFilter(request, response);
} public void destroy() {
this.encoding = null;
} }

DBUtil.java

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; /**
* @author sawyer 2014下午1:20:16
*
*/ public class DBUtil {
private Connection conn = null;
private PreparedStatement stmt = null;
private ResultSet rs = null;
private static String driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/userdb";
private String user = "root";
private String password = "orcl"; /**
* Get the driver
*/
static { } /**
* Connect the database
*/
public Connection getCon() {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = (Connection) DriverManager
.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
} /**
* @param sql
* @param obj
* Update
*//*
public int update(String sql, Object... obj) {
int count = 0;
conn = getCon();
try {
stmt = conn.prepareStatement(sql);
if (obj != null) {
for (int i = 0; i < obj.length; i++) {
stmt.setObject(i + 1, obj[i]);
}
}
count = stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return count;
} *//**
* @param sql
* @param obj
* Query
*//*
public ResultSet Query(String sql, Object... obj) {
conn = getCon();
try {
stmt = conn.prepareStatement(sql);
while (obj != null) {
for (int i = 0; i < obj.length; i++) {
stmt.setObject(i + 1, obj[i]);
}
}
rs = stmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
return rs;
}*/ /**
* CLose the resource
*/
public void close() {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
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_3_0.xsd">
<display-name></display-name>
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>servlet.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page language="java" import="model.*,entity.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<h1><a href="insert.jsp">插入数据</a></h1>
<hr>
<h1><a href="delete.jsp">删除数据</a></h1>
<hr>
<h1><a href="update.jsp">更新数据</a></h1>
<hr>
<h1><a href="queryAll.jsp">查询所有</a></h1>
<hr>
<h1><a href="queryById.jsp">查询单个</a></h1>
</body>
</html>

delete.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'deletes.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>删除数据</h1>
<form action="deleteShow.jsp" method="post">
<table>
<tr>
<td>请输入你要删除数据的ID号码:</td>
<td><input type="text" name="stuid" id="stuid">
</td>
<td><input type="submit" value="提 交" id="submit">
</td>
</tr>
</table>
</form>
</body>
</html>

deleteShow.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page language="java" import="model.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'delete.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>删除成功</h1>
<%
int stuid=Integer.parseInt(request.getParameter("stuid"));
Model model=new Model();
model.delete(stuid);
%>
</body>
</html>

insert.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'in.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>插入数据</h1>
<form action="insertShow.jsp" method="post">
<table>
<tr>
<td>请插入数据:</td>
<td>学号:<input type="text" name="stuid" id="stuid">
</td>
<td>姓名:<input type="text" name="stuname" id="stuname">
</td>
<td>性别:<input type="text" name="gender" id="gender">
</td>
<td><input type="submit" value="插入" id="submit">
</td>
</tr>
</table>
</form>
</body>
</html>

insertShow.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page language="java" import="model.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'insert.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<span style="white-space:pre"> </span><link rel="stylesheet" type="text/css" href="styles.css">
<span style="white-space:pre"> </span>--> </head> <body>
<span style="white-space:pre"> </span><h1>插入数据成功</h1>
<span style="white-space:pre"> </span><%
<span style="white-space:pre"> </span>Model model = new Model();
<span style="white-space:pre"> </span>int stuid = Integer.parseInt(request.getParameter("stuid"));
<span style="white-space:pre"> </span>String stuname = request.getParameter("stuname");
<span style="white-space:pre"> </span>String gender = request.getParameter("gender");
<span style="white-space:pre"> </span>model.Insert(stuid, stuname, gender);
<span style="white-space:pre"> </span>%>
</body>
</html>

update.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'update.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>更新数据</h1>
<form action="updateShow.jsp" method="post">
<table>
<tr>
<td>请修改数据:</td>
<td>学号:<input type="text" name="stuid" id="stuid">
</td>
<td>姓名:<input type="text" name="stuname" id="stuname">
</td>
<td>性别:<input type="text" name="gender" id="gender">
</td>
<td><input type="submit" value="修改" id="submit">
</td>
</tr>
</table>
</form>
</body>
</html>

updateShow.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page language="java" import="model.*,entity.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'update.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>更新成功</h1>
<%
Model model=new Model();
int stuid = Integer.parseInt(request.getParameter("stuid"));
String stuname = request.getParameter("stuname");
String gender = request.getParameter("gender");
model.update(stuid, stuname, gender);
%>
</body>
</html>

queryById.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'queryById.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>查询单个</h1>
<form action="queryByIdShow.jsp" method="post">
<table>
<tr>
<td>请输入你要查询的ID号码:</td>
<td><input type="text" name="stuid" id="stuid">
</td>
<td><input type="submit" value="提 交" id="submit">
</td>
</tr>
</table>
</form>
</body>
</html>

queryByIdShow.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page language="java" import="model.*,entity.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'queryById.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>查询单个数据</h1>
<table>
<tr><td>学号</td><td>姓名</td><td>性别</td></tr>
<%
int stuid=Integer.parseInt(request.getParameter("stuid"));
Model model=new Model();
Student student=model.queryById(stuid);
%>
<tr>
<td><%=student.getStuid()%></td>
<td><%=student.getStuname()%></td>
<td><%=student.getGender()%></td>
</tr>
</table>
</body>
</html>

queryAll.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page language="java" import="model.*,entity.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'queryAll.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<table>
<tr><td>学号</td><td>姓名</td><td>性别</td></tr>
<%
Model model=new Model();
List<Student> list=model.queryAll();
for(Student stu:list)
{%>
<tr>
<td><%=stu.getStuid()%></td>
<td><%=stu.getStuname()%></td>
<td><%=stu.getGender()%></td>
</tr>
<%} %>
</table>
</body>
</html>