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" onsubmit="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.javapackage 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.javapackage 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.javapackage 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的知识点又熟练了不少。
新闻热点
疑难解答