Jsp&Jdbc&Servlet实现的学生信息管理系统


初次写博客,若有不当之处,望指点

工作空间

在这里插入图片描述

MySQL数据库

MySQL中创建db_student数据库,创建表t_student用于存储学生信息和表t_user用于存储管理员登录信息
在这里插入图片描述

在这里插入图片描述

学生类实体和用户类实体

// Student.java
package model;
public class Student {
	private int id;
	private String stuName;
	private int age;
	private String sex;
	private String gradeName;
	private int course;	
	public Student() {
		super();
	}
	public Student(String stuName, int age, String sex, String gradeName, int course) {
		super();
		this.stuName = stuName;
		this.age = age;
		this.sex = sex;
		this.gradeName = gradeName;
		this.course = course;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getGradeName() {
		return gradeName;
	}
	public void setGradeName(String gradeName) {
		this.gradeName = gradeName;
	}
	public int getCourse() {
		return course;
	}
	public void setCourse(int course) {
		this.course = course;
	}
}
//User.java
package model;
public class User {
	private int id;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	private String userName;
	private String password;
	public User() {
		super();
	}
	public User(String userName, String password){
		super();
		this.userName = userName;
		this.password = password;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}	
}

工具包(加载数据库驱动、字符串判别)

//DbUtil.java
package util;
/**
 * 数据库连接
 * @author 先景
 *
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class DbUtil {
	/**
	 * 建立数据库连接
	 * @return
	 */
	public Connection getConnection() {
		Connection con = null;
		try {
			Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
			// 数据库连接
			con = (Connection) DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/db_student?useUnicode=true&characterEncoding=utf-8", "root",
					"123456");
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("数据库连接失败!");
		}
		return con;
	}
	/**
	 * 关闭数据库连接
	 * @param rSet
	 * @param pstmt
	 * @param con
	 */
	public void close(ResultSet rSet,PreparedStatement pstmt,Connection con) {
		if(rSet!=null) {
			try {
				rSet.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		if(pstmt!=null) {
			try {
				pstmt.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		if(con!=null) {
			try {
				con.close();
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
	}
}
//StringUtil.java
package util;
public class StringUtil {
	public boolean isNotNum(String str) {
		if(str==null||str.equals(""))
			return true;
		for(int i = 0;i<str.length();i++) {
			char a = str.charAt(i);
			if('0'>a||a>'9') {
				return true;
			}
		}
		return false;
	}
	public boolean isEmpty(String str) {
		if(str==null||str.equals("")) {
			return true;
		}
		return false;
	}
}

JDBC中用户登录

//UserDao.java
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import model.User;
public class UserDao {
	/**
	 * 用户登录
	 * @param connection
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User login(Connection connection,User user) throws Exception{
		User resUser = null;
		String sqlString = "select * from t_user where userName=? and password=?";
		PreparedStatement pstmt = connection.prepareStatement(sqlString);
		pstmt.setString(1, user.getUserName());
		pstmt.setString(2, user.getPassword());
		ResultSet rSet = pstmt.executeQuery();
		if(rSet.next()) {
			resUser = new User();
			resUser.setUserName(rSet.getString("userName"));
			resUser.setPassword(rSet.getString("password"));
		}
		return resUser;
	}
}

JDBC中数据基本的增删查改操作

//StudentDao.java
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import model.Student;
public class StudentDao {
	/**
	 * 添加学生信息
	 * @param connection
	 * @param student
	 * @return
	 * @throws SQLException
	 */
	public int addStudent(Connection connection,Student student) throws SQLException {
		String sqlString = "insert into t_student values(null,?,?,?,?,?)";
		PreparedStatement pstmt = connection.prepareStatement(sqlString);
		pstmt.setString(1, student.getStuName());
		pstmt.setInt(2, student.getAge());
		pstmt.setString(3, student.getSex());
		pstmt.setString(4, student.getGradeName());
		pstmt.setInt(5, student.getCourse());	
		return pstmt.executeUpdate();
	}
	/**
	 * 通过学生姓名查找学生信息
	 * @param connection
	 * @param studentName
	 * @return
	 * @throws SQLException
	 */
	public ArrayList<Student> searchStudent(Connection connection,String studentName) throws SQLException {
		ArrayList<Student> students = new ArrayList<Student>();
		String sqlString = "select * from t_student where stuName like '%"+studentName+"%'";
		PreparedStatement pstmt = connection.prepareStatement(sqlString);
		ResultSet rSet = pstmt.executeQuery();
		while(rSet.next()) {
			Student student = new Student();
			student.setId(rSet.getInt("id"));
			student.setStuName(rSet.getString("stuName"));
			student.setAge(rSet.getInt("age"));
			student.setSex(rSet.getString("sex"));
			student.setGradeName(rSet.getString("gradeName"));
			student.setCourse(rSet.getInt("course"));
			students.add(student);
		}
		return students;
	}
	/**
	 * 通过ID删除学生信息
	 * @param connection
	 * @param id
	 * @return
	 * @throws SQLException
	 */
	public int deleteStudent(Connection connection,int id) throws SQLException {
		String sql = "delete from t_student where id=?";
		PreparedStatement pstmt = connection.prepareStatement(sql);
		pstmt.setInt(1, id);
		return pstmt.executeUpdate();
	}
	/**
	 * 修改学生信息
	 * @param connection
	 * @param id
	 * @param student
	 * @return
	 * @throws Exception
	 */
	public int modifyStudent(Connection connection,int id, Student student)throws Exception{
		String sqlString = "update t_student set stuName=?,age=?,sex=?,gradeName=?,course=? where id=?";
		PreparedStatement pstmt = connection.prepareStatement(sqlString);
		pstmt.setString(1, student.getStuName());
		pstmt.setInt(2, student.getAge());
		pstmt.setString(3, student.getSex());
		pstmt.setString(4, student.getGradeName());
		pstmt.setInt(5, student.getCourse());
		pstmt.setInt(6, id);
		return pstmt.executeUpdate();
	}
}

搭建网页

用户登录界面

//login.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">
td {
	text-align: center;
	font-family: "华文仿宋";
	padding: 5px;
	border: 1px solid black;
	width: 80px;
}
table {
	text-align: center;
	border: 5px solid green;
	width: 800;
	margin: 2px auto;
}
</style>
</head>
<body>
	<div style="align-content: center;border: 5px solid white;">
		<form action="login" method="post">
			<table>
				<tr>
					<td colspan="2">用户登录</td>
				</tr>
				<tr>
					<td>用户名:</td>
					<td><input type="text" id="userName" name="userName" /></td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" id="password" name="password" /></td>
				</tr>
				<tr>
					<td><input type="submit" value="登录" /></td>
					<td><font color="red">${error }</font></td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

学生信息管理界面

//Manage.jsp
<%@page import="model.Student"%>
<%@page import="java.util.ArrayList"%>
<%@ 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">
td {
	text-align: center;
	font-family: "华文仿宋";
	padding: 5px;
	border: 1px solid black;
	width: 80px;
}
table {
	text-align: center;
	border: 5px solid green;
	width: 800;
	margin: 2px auto;
}
</style>
<script type="text/javascript">
function _search() {
	document.form1.action = "search";
	document.form1.submit();
}
function _add() {
	document.form1.action = "add";
	document.form1.submit();
}
function _delete(ID) {
	if (confirm("确定要删除吗?")) {
		document.form1.action = "delete?"+"id="+ID;
		document.form1.submit();
	}else {
		//不执行操作!
	}
}
function _modify(ID, i) {
	var x = document.getElementById('myTable').rows[i+3].cells;
	var stuName = x[1].innerHTML;
	var age = x[2].innerHTML;
	var sex = x[3].innerHTML;
	var grade = x[4].innerHTML;
	var course = x[5].innerHTML;
	document.form1.action = "modify.jsp?"+"id="+ID+"&stuName="+stuName+"&age="
			+age+"&sex="+sex+"&grade="+grade+"&course="+course;
	document.form1.submit();
}
</script>
</head>
<body>
	<div style="border: 1px solid white-space;">
		<form method="post" name="form1">
			<table id="myTable">
				<tr>
					<td style="align-content: center;" colspan="8">用户界面管理</td>
				</tr>
				<tr>
					<td>
						<input type="button" value="添加" onclick="_add()"/>
					</td>
					<td><input type="text" id="stuName" name="stuName"/></td>
					<td><input type="text" id="age" name="age"/></td>
					<td><input type="text" id="sex" name="sex"/></td>
					<td><input type="text" id="grade" name="grade"/></td>
					<td><input type="text" id="course" name="course"/></td>
					<td><input type="button" value="search by stuName" onclick="_search()"/></td>
					<td>
						<input type="text" id="search" name="search" style="margin: 1px;"/>
					</td>
				</tr>
				<tr>
					<td>id</td>
					<td>学生姓名</td>
					<td>年龄</td>
					<td>性别</td>
					<td>年级</td>
					<td>分数</td>
					<td>删除</td>
					<td>修改</td>
				</tr>
				<%
					ArrayList<Student> aList = (ArrayList<Student>) request.getAttribute("arrayListStudent");

					if (aList != null) {
						for (int i = 0; i < aList.size(); i++) {
				%>
				<tr>
					<td><%=aList.get(i).getId()%></td>
					<td id="stuName"><%=aList.get(i).getStuName()%></td>
					<td id="age"><%=aList.get(i).getAge()%></td>
					<td id="sex"><%=aList.get(i).getSex()%></td>
					<td id="grade"><%=aList.get(i).getGradeName()%></td>
					<td id="course"><%=aList.get(i).getCourse()%></td>
					<td><input type="button" value="删除"οnclick="_delete(<%=aList.get(i).getId()%>)"/></td>
					<td><input type="button" value="修改"οnclick="_modify(<%=aList.get(i).getId()%>,<%=i%>)"/></td>
				</tr>
				<%
					}
					}
				%>
			</table>
		</form>
	</div>
</body>
</html>

修改学生信息界面

//modify.jsp
<%@page import="org.w3c.dom.Document"%>
<%@ 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">
td {
	text-align: center;
	font-family: "华文仿宋";
	padding: 5px;
	border: 1px solid black;
	width: 80px;
}
table {
	text-align: center;
	border: 5px solid green;
	width: 800;
	margin: 2px auto;
}
</style>
<script type="text/javascript">
function _submit(id) {
	var stuName = document.getElementById("stuName").value;
	var age = document.getElementById("age").value;
	var sex = document.getElementById("sex").value;
	var grade = document.getElementById("grade").value;
	var course = document.getElementById("course").value;
	document.form1.action = "modified?"+"id="+id+"&stuName="+stuName+"&age="
			+age+"&sex="+sex+"&grade="+grade+"&course="+course;
	document.form1.submit();
}
</script>
</head>
<body>
	<%
		String id = request.getParameter("id");
		String stuName = new String(request.getParameter("stuName").getBytes("ISO8859-1"),"UTF-8");
		String age = request.getParameter("age");
		String sex = new String(request.getParameter("sex").getBytes("ISO8859-1"),"UTF-8");
		String grade = new String(request.getParameter("grade").getBytes("ISO8859-1"),"UTF-8");
		String course = request.getParameter("course");
		//request.setAttribute("stuName", );
	%>
	<div style="border: 1px solid white-space;">
		<form action="" method="post" name="form1">
			<table>
				<tr>
					<td colspan="4">ID为<%=id %>的学生信息维护
					</td>
					<td><input type="button" value="提交"
						onclick="_submit(<%=id %>)" /></td>
				</tr>
				<tr>
					<td>学生姓名</td>
					<td>年龄</td>
					<td>性别</td>
					<td>年级</td>
					<td>分数</td>
				</tr>
				<tr>
					<td><input type="text" id="stuName" name="stuName" value="<%=stuName %>"/></td>
					<td><input type="text" id="age" name="age" value="<%=age%>"/></td>
					<td><input type="text" id="sex" name="sex" value="<%=sex %>"/></td>
					<td><input type="text" id="grade" name="grade" value="<%=grade %>"/></td>
					<td><input type="text" id="course" name="course" value="<%=course %>"/></td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

站点提示

//error.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>
	<script type="text/javascript">
	<%String message = (String) request.getAttribute("error");
			String search = request.getParameter("search");%>
	var msg = '<%=message%>';
		alert(msg);
		window.location.href='search?search='+' ';	
	</script>
</body>
</html>

Http响应用户请求

响应用户登录

//add.java
package web;
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.StudentDao;
import model.Student;
import util.DbUtil;
import util.StringUtil;
public class add extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private DbUtil dbUtil = new DbUtil();
	private StudentDao studentDao = new StudentDao();
	private StringUtil stringUtil = new StringUtil();
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		if (request.getParameter("stuName") == "" || stringUtil.isNotNum((request.getParameter("age")))
				||  stringUtil.isNotNum(request.getParameter("course"))) {
			request.setAttribute("error", "添加失败!");
			String msg = "error.jsp";
			
			RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
			rDispatcher.forward(request, response);
			//response.sendRedirect("search?search="+" ");
		} else {
			String stuName = request.getParameter("stuName");
			int age = Integer.parseInt(request.getParameter("age"));
			String sex = request.getParameter("sex");
			String grade = request.getParameter("grade");
			int course = Integer.parseInt(request.getParameter("course"));

			Student student = new Student(stuName, age, sex, grade, course);
			Connection connection = dbUtil.getConnection();
			try {
				int result = studentDao.addStudent(connection, student);
				if (result == 1) {
					System.out.println("添加成功!");
				} else {
					System.out.println("添加失败!");
				}
				request.setAttribute("error", "添加成功!");
				String msg = "error.jsp";
				
				RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
				rDispatcher.forward(request, response);
				//response.sendRedirect("search?search="+" ");
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				dbUtil.close(null, null, connection);
			}
		}
	}
}

响应学生信息查询

//search.java
package web;
import java.io.IOException;
import java.sql.Connection;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.StudentDao;
import model.Student;
import util.DbUtil;
public class search extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private DbUtil dbUtil = new DbUtil();
	private StudentDao studentDao = new StudentDao();
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String stuName = request.getParameter("search");
		System.out.println(stuName);
		Connection connection = dbUtil.getConnection();
		try {
			ArrayList<Student> aList = studentDao.searchStudent(connection, stuName);
			//HttpSession session = request.getSession();
			//request.removeAttribute("arrayListStudent");
			request.setAttribute("arrayListStudent", aList);
			//response.sendRedirect("Manage.jsp");
			RequestDispatcher rd = request.getRequestDispatcher("Manage.jsp");
			rd.forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			dbUtil.close(null, null, connection);
		}
	}
}

响应删除学生信息

package web;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.StudentDao;
import util.DbUtil;
public class delete extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private DbUtil dbUtil = new DbUtil();
	private StudentDao studentDao = new StudentDao();
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		int id = Integer.parseInt(request.getParameter("id"));
		Connection connection = dbUtil.getConnection();
		try {
			int result = studentDao.deleteStudent(connection, id);
			if (result == 1) {
				System.out.println("删除成功!");
			} else {
				System.out.println("删除失败!");
			}
			request.setAttribute("error", "删除成功!");
			String msg = "error.jsp";		
			RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
			rDispatcher.forward(request, response);
			//response.sendRedirect("search?search="+" ");
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			dbUtil.close(null, null, connection);
		}
	}	
}

响应添加学生信息

//add.java
package web;
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.StudentDao;
import model.Student;
import util.DbUtil;
import util.StringUtil;
public class add extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private DbUtil dbUtil = new DbUtil();
	private StudentDao studentDao = new StudentDao();
	private StringUtil stringUtil = new StringUtil();
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		if (request.getParameter("stuName") == "" || stringUtil.isNotNum((request.getParameter("age")))
				||  stringUtil.isNotNum(request.getParameter("course"))) {
			request.setAttribute("error", "添加失败!");
			String msg = "error.jsp";		
			RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
			rDispatcher.forward(request, response);
			//response.sendRedirect("search?search="+" ");
		} else {
			String stuName = request.getParameter("stuName");
			int age = Integer.parseInt(request.getParameter("age"));
			String sex = request.getParameter("sex");
			String grade = request.getParameter("grade");
			int course = Integer.parseInt(request.getParameter("course"));
			Student student = new Student(stuName, age, sex, grade, course);
			Connection connection = dbUtil.getConnection();
			try {
				int result = studentDao.addStudent(connection, student);
				if (result == 1) {
					System.out.println("添加成功!");
				} else {
					System.out.println("添加失败!");
				}
				request.setAttribute("error", "添加成功!");
				String msg = "error.jsp";		
				RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
				rDispatcher.forward(request, response);
				//response.sendRedirect("search?search="+" ");
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				dbUtil.close(null, null, connection);
			}
		}
	}
}

响应修改学生信息

//modified.java
package web;
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dao.StudentDao;
import model.Student;
import util.DbUtil;
import util.StringUtil;
public class modified extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private DbUtil dbUtil = new DbUtil();
	private StudentDao studentDao = new StudentDao();
	private StringUtil stringUtil = new StringUtil();
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		if (request.getParameter("stuName") == "" || stringUtil.isNotNum((request.getParameter("age")))
				||  stringUtil.isNotNum(request.getParameter("course"))) {
			request.setAttribute("error", "录入信息有误!");
			String msg = "error.jsp";		
			RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
			rDispatcher.forward(request, response);
			//response.sendRedirect("search?search="+" ");
		}else {
			int id = Integer.parseInt(request.getParameter("id"));
			String stuName = new String (request.getParameter("stuName").getBytes("ISO8859-1"),"UTF-8");
			int age = Integer.parseInt(request.getParameter("age"));
			String sex = new String(request.getParameter("sex").getBytes("ISO8859-1"),"UTF-8");
			String grade = new String(request.getParameter("grade").getBytes("ISO8859-1"),"UTF-8");
			int course = Integer.parseInt(request.getParameter("course"));	
			Connection connection = dbUtil.getConnection();
			Student student = new Student(stuName, age, sex, grade, course);
			try {
				int result = studentDao.modifyStudent(connection, id, student);
				if (result == 1) {
					System.out.println("修改成功!");
				} else {
					System.out.println("修改失败!");
				}
				request.setAttribute("error", "修改成功!");
				String msg = "error.jsp";			
				RequestDispatcher rDispatcher = request.getRequestDispatcher(msg);
				rDispatcher.forward(request, response);
				//response.sendRedirect("search?search="+" ");
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				dbUtil.close(null, null, connection);
			}
		}
	}	
}

消息的屏蔽以及xml配置

为保证用户登录成功后才能进入管理界面,做了如下处理

消息屏蔽

//filter.java
package web;
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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class filter implements Filter{
	public void destroy() {
		// TODO Auto-generated method stub
	}
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
			throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest)servletRequest;
		HttpSession session = request.getSession();
		Object object = session.getAttribute("userName");
		Object object2 = session.getAttribute("password");
		System.out.println(object);
		String path = request.getServletPath();
		if(object==null&&object2==null&&path.indexOf("login")<0) {
			request.getRequestDispatcher("login.jsp").forward(servletRequest, servletResponse);
		}else {
			filterChain.doFilter(servletRequest, servletResponse);
		}	
	}
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
	}
}

xml配置

//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Jdbc_Jsp</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  	<servlet-name>login</servlet-name>
  	<servlet-class>web.login</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>login</servlet-name>
  	<url-pattern>/login</url-pattern>
  </servlet-mapping>
  <servlet>
  	<servlet-name>search</servlet-name>
  	<servlet-class>web.search</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>search</servlet-name>
  	<url-pattern>/search</url-pattern>
  </servlet-mapping>
  <servlet>
  	<servlet-name>add</servlet-name>
  	<servlet-class>web.add</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>add</servlet-name>
  	<url-pattern>/add</url-pattern>
  </servlet-mapping>
  <servlet>
  	<servlet-name>delete</servlet-name>
  	<servlet-class>web.delete</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>delete</servlet-name>
  	<url-pattern>/delete</url-pattern>
  </servlet-mapping>
  <servlet>
  	<servlet-name>modified</servlet-name>
  	<servlet-class>web.modified</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>modified</servlet-name>
  	<url-pattern>/modified</url-pattern>
  </servlet-mapping>
  <filter>
  	<filter-name>filter_login</filter-name>
  	<filter-class>web.filter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>filter_login</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

运行效果

打开浏览器,输入http://localhost:8080/Jdbc_Jsp/login.jsp
用户登录
在这里插入图片描述
在这里插入图片描述

该项目仅供参考,若有问题,请指出;最后感谢Java1234网站的学习资料.

猜你喜欢

转载自blog.csdn.net/wjjdjdjid/article/details/106292480