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的知识点又熟练了不少。