Servlet+JSP+JavaBean+C3P0数据库连接池---本科生教务管理系统


1.配置文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>eduos</display-name>
<!-- 按运行的优先级排序 -->
  <filter>  
   <description>实例用的简单过滤器</description>  
   <display-name>示例过滤器</display-name>  
   <filter-name>CharacterEncode</filter-name>  
   <filter-class>dt.it.filter.CharacterEncode</filter-class>  
   <init-param>  
       <param-name>encoding</param-name>  
       <param-value>UTF-8</param-value>  
   </init-param>  
 </filter>  
 <filter-mapping>  
   <filter-name>CharacterEncode</filter-name>  
   <url-pattern>/*</url-pattern>  
   <dispatcher>REQUEST</dispatcher>  
   <dispatcher>INCLUDE</dispatcher>  
   <dispatcher>ERROR</dispatcher>  
 </filter-mapping>  
  
  <servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>dt.it.controller.LoginServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>HeadServlet</servlet-name>
    <servlet-class>dt.it.UI.HeadServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AdminLeftServlet</servlet-name>
    <servlet-class>dt.it.UI.AdminLeftServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>MainServlet</servlet-name>
    <servlet-class>dt.it.UI.MainServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddSInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.AddSInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddStudentServlet</servlet-name>
    <servlet-class>dt.it.controller.AddStudentServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateSInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.UpdateSInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>FindUpdateStudentServlet</servlet-name>
    <servlet-class>dt.it.controller.FindUpdateStudentServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateStudentServlet</servlet-name>
    <servlet-class>dt.it.controller.UpdateStudentServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddTInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.AddTInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddTeacherServlet</servlet-name>
    <servlet-class>dt.it.controller.AddTeacherServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateTInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.UpdateTInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>FindUpdateTeacherServlet</servlet-name>
    <servlet-class>dt.it.controller.FindUpdateTeacherServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateTeacherServlet</servlet-name>
    <servlet-class>dt.it.controller.UpdateTeacherServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddUInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.AddUInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddUserServlet</servlet-name>
    <servlet-class>dt.it.controller.AddUserServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateUInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.UpdateUInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>FindUpdateUserServlet</servlet-name>
    <servlet-class>dt.it.controller.FindUpdateUserServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateUserServlet</servlet-name>
    <servlet-class>dt.it.controller.UpdateUserServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>LookStudentsServlet</servlet-name>
    <servlet-class>dt.it.UI.LookStudentsServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ListStudentsServlet</servlet-name>
    <servlet-class>dt.it.controller.ListStudentsServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>LogoutServlet</servlet-name>
    <servlet-class>dt.it.controller.LogoutServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>DeleteStudentServlet</servlet-name>
    <servlet-class>dt.it.controller.DeleteStudentServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ManageCourseServlet</servlet-name>
    <servlet-class>dt.it.UI.ManageCourseServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>CourseManageHead</servlet-name>
    <servlet-class>dt.it.UI.CourseManageHead</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>CourseManageBody</servlet-name>
    <servlet-class>dt.it.UI.CourseManageBody</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>CourseSearchServlet</servlet-name>
    <servlet-class>dt.it.controller.CourseSearchServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddCourseServlet</servlet-name>
    <servlet-class>dt.it.controller.AddCourseServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddCInfoServlet</servlet-name>
    <servlet-class>dt.it.UI.AddCInfoServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>DeleteCourseServlet</servlet-name>
    <servlet-class>dt.it.controller.DeleteCourseServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>FindUpdateCourseServlet</servlet-name>
    <servlet-class>dt.it.controller.FindUpdateCourseServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateCourseServlet</servlet-name>
    <servlet-class>dt.it.controller.UpdateCourseServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TeacherLeftServlet</servlet-name>
    <servlet-class>dt.it.UI.TeacherLeftServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AddSgradeServlet</servlet-name>
    <servlet-class>dt.it.UI.AddSgradeServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>InputSGradeServlet</servlet-name>
    <servlet-class>dt.it.controller.InputSGradeServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>FindSgradeServlet</servlet-name>
    <servlet-class>dt.it.UI.FindSgradeServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ShowSGradeServlet</servlet-name>
    <servlet-class>dt.it.UI.ShowSGradeServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdateSgradeServlet</servlet-name>
    <servlet-class>dt.it.controller.UpdateSgradeServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdatePasswordServlet</servlet-name>
    <servlet-class>dt.it.UI.UpdatePasswordServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>UpdatePwdServlet</servlet-name>
    <servlet-class>dt.it.controller.UpdatePwdServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ListClassServlet</servlet-name>
    <servlet-class>dt.it.controller.ListClassServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>StudentLeftServlet</servlet-name>
    <servlet-class>dt.it.UI.StudentLeftServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>SaveSelectCourseServlet</servlet-name>
    <servlet-class>dt.it.controller.SaveSelectCourseServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ListGradeServlet</servlet-name>
    <servlet-class>dt.it.controller.ListGradeServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/servlet/LoginServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>HeadServlet</servlet-name>
    <url-pattern>/servlet/HeadServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AdminLeftServlet</servlet-name>
    <url-pattern>/servlet/AdminLeftServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>MainServlet</servlet-name>
    <url-pattern>/servlet/MainServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddSInfoServlet</servlet-name>
    <url-pattern>/servlet/AddSInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddStudentServlet</servlet-name>
    <url-pattern>/servlet/AddStudentServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateSInfoServlet</servlet-name>
    <url-pattern>/servlet/UpdateSInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FindUpdateStudentServlet</servlet-name>
    <url-pattern>/servlet/FindUpdateStudentServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateStudentServlet</servlet-name>
    <url-pattern>/servlet/UpdateStudentServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddTInfoServlet</servlet-name>
    <url-pattern>/servlet/AddTInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddTeacherServlet</servlet-name>
    <url-pattern>/servlet/AddTeacherServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateTInfoServlet</servlet-name>
    <url-pattern>/servlet/UpdateTInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FindUpdateTeacherServlet</servlet-name>
    <url-pattern>/servlet/FindUpdateTeacherServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateTeacherServlet</servlet-name>
    <url-pattern>/servlet/UpdateTeacherServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddUInfoServlet</servlet-name>
    <url-pattern>/servlet/AddUInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddUserServlet</servlet-name>
    <url-pattern>/servlet/AddUserServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateUInfoServlet</servlet-name>
    <url-pattern>/servlet/UpdateUInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FindUpdateUserServlet</servlet-name>
    <url-pattern>/servlet/FindUpdateUserServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateUserServlet</servlet-name>
    <url-pattern>/servlet/UpdateUserServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LookStudentsServlet</servlet-name>
    <url-pattern>/servlet/LookStudentsServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ListStudentsServlet</servlet-name>
    <url-pattern>/servlet/ListStudentsServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LogoutServlet</servlet-name>
    <url-pattern>/servlet/LogoutServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>DeleteStudentServlet</servlet-name>
    <url-pattern>/servlet/DeleteStudentServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ManageCourseServlet</servlet-name>
    <url-pattern>/servlet/ManageCourseServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CourseManageHead</servlet-name>
    <url-pattern>/servlet/CourseManageHead</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CourseManageBody</servlet-name>
    <url-pattern>/servlet/CourseManageBody</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>CourseSearchServlet</servlet-name>
    <url-pattern>/servlet/CourseSearchServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddCourseServlet</servlet-name>
    <url-pattern>/servlet/AddCourseServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddCInfoServlet</servlet-name>
    <url-pattern>/servlet/AddCInfoServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>DeleteCourseServlet</servlet-name>
    <url-pattern>/servlet/DeleteCourseServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FindUpdateCourseServlet</servlet-name>
    <url-pattern>/servlet/FindUpdateCourseServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateCourseServlet</servlet-name>
    <url-pattern>/servlet/UpdateCourseServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TeacherLeftServlet</servlet-name>
    <url-pattern>/servlet/TeacherLeftServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AddSgradeServlet</servlet-name>
    <url-pattern>/servlet/AddSgradeServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>InputSGradeServlet</servlet-name>
    <url-pattern>/servlet/InputSGradeServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FindSgradeServlet</servlet-name>
    <url-pattern>/servlet/FindSgradeServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ShowSGradeServlet</servlet-name>
    <url-pattern>/servlet/ShowSGradeServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdateSgradeServlet</servlet-name>
    <url-pattern>/servlet/UpdateSgradeServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdatePasswordServlet</servlet-name>
    <url-pattern>/servlet/UpdatePasswordServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UpdatePwdServlet</servlet-name>
    <url-pattern>/servlet/UpdatePwdServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ListClassServlet</servlet-name>
    <url-pattern>/servlet/ListClassServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>StudentLeftServlet</servlet-name>
    <url-pattern>/servlet/StudentLeftServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>SaveSelectCourseServlet</servlet-name>
    <url-pattern>/servlet/SaveSelectCourseServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ListGradeServlet</servlet-name>
    <url-pattern>/servlet/ListGradeServlet</url-pattern>
  </servlet-mapping>	
  
   <welcome-file-list>
       <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
</web-app>

c3p0-config.xml(c3p0数据库连接池配置)

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>
	<default-config>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/eduos</property>
		<property name="user">root</property>
		<property name="password">123456</property>
		
		<property name="acquireIncrement">5</property>
		<property name="initialPoolSize">10</property>
		<property name="minPoolSize">5</property>
		<property name="maxPoolSize">20</property>
	</default-config>
</c3p0-config>

2.部分代码(这里以登录功能为例)

 login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 	<head>
	<link rel="stylesheet" type="text/css" href="image/logincss.css">
	<script type="text/javascript">
		
		function check(){
			var uname = document.getElementById("uname").value;
			var upassword = document.getElementById("upassword").value;
			if(uname==""){
				alert("用户名为空!");
				return false;
			}
			if(upassword==""){
				alert("密码为空!");
				return false;
			}
		}
		
	</script>
		
	</head>
	<body>
		<div id="container">
			<div id="login">
				<div id="form">
					<form action="${pageContext.request.contextPath }/servlet/LoginServlet" method="post" οnsubmit="return check()">
						<div id="part1">
							<div id="input">
								<div >用户:<input id="uname" type="text" name="username"><br></div>
								<div>密码:<input id="upassword" type="password" name="password"><br></div>
							</div>
							<div>
								<input type="radio" name="kind" value="student" checked="checked">学生
								<input type="radio" name="kind" value="teacher">老师
								<input type="radio" name="kind" value="admin">管理员
							</div>
						</div>
						<div id="btn">
							<input type="submit" value="">
						</div>
						<div style="margin-left: 65px; margin-top: 7px ;" ><font color="red">${message}</font></div>
					</form>				
				</div>
			</div>
		</div>
	
	</body>
</html>

LoginServlet.java

package dt.it.controller;

import java.io.IOException;
import java.io.PrintWriter; 

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dt.it.domain.User;
import dt.it.service.BusinessService;

public class LoginServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String kind = request.getParameter("kind");
		BusinessService service = new BusinessService();
		User user = service.login(username, password,kind);
		if(user!=null){
			request.getSession().setAttribute("user", user);
			if(kind.equals("student")){
				request.getRequestDispatcher("/WEB-INF/jsp/studentMainPage.jsp").forward(request, response);
				return;
			}else if (kind.equals("teacher")) {
				request.getRequestDispatcher("/WEB-INF/jsp/teacherMainPage.jsp").forward(request, response);
				return;
			}else{
				request.getRequestDispatcher("/WEB-INF/jsp/adminMainPage.jsp").forward(request, response);
				return;
			}
		}else {
			request.getSession().setAttribute("message", "用户名或密码错误!");
			//response.getWriter().write("<script language='javascript'>alert('用户名或密码不正确!')</script>");
			//request.getRequestDispatcher("/login.jsp").forward(request, response);
			response.sendRedirect(request.getContextPath()+"/login.jsp");
		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

BusinessService.java

package dt.it.service;

import java.util.List;

import dt.it.dao.StudentDao;
import dt.it.dao.TeacherDao;
import dt.it.dao.UserDao;
import dt.it.domain.Count;
import dt.it.domain.Page;
import dt.it.domain.Student;
import dt.it.domain.Teacher;
import dt.it.domain.User;
import dt.it.exceptions.NotFoundException;
import dt.it.exceptions.StudentExistException;
import dt.it.exceptions.StudentNotExistException;
import dt.it.exceptions.TeacherExistException;
import dt.it.exceptions.TeacherNotExistException;
import dt.it.exceptions.UserExistException;
import dt.it.exceptions.UserNotExistException;
import dt.it.utils.Md5utils;

public class BusinessService {
	
	private UserDao udao = new UserDao();
	private StudentDao sdao = new StudentDao();
	private TeacherDao tdao = new TeacherDao();

	//添加学生
	public void addStudent(Student student) throws Exception{
		//添加前先查找是否已经存在
		Student s = sdao.find(student.getSno());
		if(s!=null){
			throw new StudentExistException();
		}else{
			sdao.add(student);
		}
	}
	
	//按学号查找学生信息
	public Student findStudent(String sno) throws Exception{
		Student s = sdao.find(sno);
		if(s==null){
			throw new StudentNotExistException();
		}
		return s;
		
	}
	
	public void deleteStudent(String sno){
		
		sdao.delete(sno);
	}
	
	public void updateStudent(Student student) throws Exception{
		//更新前先查找是否已经存在
			Student s = sdao.find(student.getSno());
			if(s==null){
				throw new StudentNotExistException();
			}else{
				sdao.update(student);
			}
		
	}
	
//	public int getStudentCount(){
//		return sdao.getStudentCount().getCount();
//	}
//	
	public List<Student> findAdaptStudents(String adapt){
		return sdao.findStudents(adapt);
	}
	
	public void addTeacher(Teacher teacher) throws Exception{
		Teacher t = tdao.find(teacher.getTno());
		if(t!=null){
			throw new TeacherExistException();
		}else {
			tdao.add(teacher);
		}
	}
	
	public Teacher findTeacher(String tno) throws Exception{
		Teacher t = tdao.find(tno);
		if(t==null){
			throw new TeacherNotExistException();
		}else{
			return t;
		}
	}
	
	public void deleteTeacher(String tno){
		tdao.delete(tno);
	}
	
	public void updateTeacher(Teacher teacher) throws Exception{
		Teacher t = tdao.find(teacher.getTno());
		if(t==null){
			throw new TeacherNotExistException();
		}else{
			tdao.update(teacher);
		}
	}
	//得到老师的数量
	public int getTeacherCount(){
		return tdao.getTeacherCount().getCount();
	}
	
	//用户登录
	public User login(String username,String password, String kind){
		String password1 = Md5utils.md5(password);
		return udao.loginFind(username, password1,kind);
	}
	
	//添加用户
	public void addUser(User user) throws Exception{
		//添加前先检查数据库里是否含有该用户名
		User u = udao.find(user.getUsername());
		if(u!=null){
			throw new UserExistException();
		}else{
			udao.add(user);
		}
	}
	//查找用户
	public User findUser(String username) throws Exception{
	  	User u =udao.find(username);
	  	if(u==null){
	  		throw new UserNotExistException();
	  	}else{
	  		return u;
	  	}
	}
	//管理员更新用户
	public void updateUser(User user) throws Exception{
		User u = udao.find(user.getUsername());
		if(u==null){
			throw new UserNotExistException();
		}else{
			String password = Md5utils.md5(user.getPassword());
			user.setPassword(password);
			udao.update(user);
		}
	}
	//得到用户数量
	public int getUserCount(){
		return udao.getUserCount().getCount();
	}
	
	//得到分页数据
	public Page getPageData(String searchinfo,String type, String pagenum,String url) throws Exception{
		
		Count  c =sdao.getStudentCount(searchinfo,type);
		if(c.getCount()==0){
			throw new NotFoundException();
		}
		int totalrecord =c.getCount();
		if(pagenum==null){
			//代表用户想看第一页的数据
			Page page = new Page(totalrecord,1);  //算出了总页数,以及用户想看的页从数据库哪个地方开始取
			List list = sdao.getPageData(searchinfo,type,page.getStartindex(), page.getPagesize());
			page.setList(list);
			page.setUrl(url);
			page.setSearchinfo(searchinfo);
			page.setType(type);
			return page;
		}else{
			//代表用户想看指定的页
			Page page = new Page(totalrecord,Integer.parseInt(pagenum)); 
			List list = sdao.getPageData(searchinfo,type,page.getStartindex(), page.getPagesize());
			page.setList(list);
			page.setUrl(url);
			page.setSearchinfo(searchinfo);
			page.setType(type);
			return page;
		}
	}
	
}

UserDao.java

package dt.it.dao;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;

import dt.it.domain.Count;
import dt.it.domain.User;
import dt.it.utils.JdbcUtils;
import dt.it.utils.Md5utils;

public class UserDao {
	//添加用户
	public void add(User user){
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "insert into user(username,password,kind) values(?,?,?)";
			Object params[] = {user.getUsername(),Md5utils.md5(user.getPassword()),user.getKind()};
			runner.update(sql, params);
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	//查找已经存在用户
	public User find(String username){
		
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "select * from user where username = ?";
			return (User) runner.query(sql, username, new BeanHandler(User.class));
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	} 
	//登录
	public User loginFind(String username,String password, String kind){
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "select * from user where username = ? and password = ? and kind = ?";
			Object params[] = {username,password,kind};
			return (User)runner.query(sql, params, new BeanHandler(User.class));
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	
	//删除用户
	public boolean delete(String username){
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "delete from user where username = ?";
			if(runner.update(sql, username)>0){
				return true;
			}
			return false;
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	
	//修改用户信息  带用户类型
	public void update(User user){
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "update user set password =?,kind = ? where username=?";
			Object params[] = {user.getPassword(),user.getKind(),user.getUsername().toString()};
			runner.update(sql, params);
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	//用户修改密码
	public void update(String username,String password){
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "update user set password = ? where username =?";
			Object params[] = {password,username};
			
			runner.update(sql, params);
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	//得到用户的个数
	public Count getUserCount(){
		try{
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql ="select count(*) count from user";
			return (Count) runner.query(sql, new BeanHandler(Count.class));
		}catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	
}

 项目部分截图:

1.账户登录界面


                                                                         账户登录界面


1.学生端

  

                                                                         学生端主界面

                                                            学生端修改密码


2.教师端

     

                                           教师端学生成绩录入



                                              教师端---学生成绩修改



                                               教师端---密码修改


3.管理员


                                              管理员---查看学生信息


                                                    管理员---管理用户



                                          管理员---教师信息管理



                                                管理员---教师信息录入



                                                管理员---课程信息管理



                                                管理员---课程信息录入



                                                管理员---添加用户



                                             管理员---学生信息管理



                                                 管理员---学生信息录入


总结:又一个项目,不过不加框架,感觉bug少了很多。或许是框架的原理还不太熟悉吧。本次项目是基于三种类型人群的权限进行开发的,其JSP页面分别放其在三个不同的包中,与前一个项目一样,使用了c3p0数据库连接池技术做后台数据库管理。通过本次开发,jsp的知识点又熟练了不少。

                                                                                               

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇潇雨歇_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值