基于javaweb+mysql的jsp+servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)

基于javaweb+mysql的jsp+servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的JSP+Servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)

登录:

admin 123456

学生信息增删改查管理


@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);

        HttpSession session = req.getSession();

        if (user.getUsername() == null){//若用户不存在
            req.setAttribute("flag","null");
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }else {
            if ( password.equals(user.getPassword()) ){
                //登陆成功
                session.setAttribute("username",username);//将用户名用于session域进行权限检查
                System.out.println("登陆成功!session:"+session.getAttribute("username"));

                if (username!=null){
                    Cookie c = new Cookie("user",username);
                    c.setMaxAge(60);//有效时间60s
                    resp.addCookie(c);//将Cookie对象保存到客户端
                }

                resp.sendRedirect("/ListServlet");
            }else {
                req.setAttribute("flag","false");
                req.getRequestDispatcher("/login.jsp").forward(req,resp);
            }
        }
    }
}

@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);

        HttpSession session = req.getSession();

        if (user.getUsername() == null){//若用户不存在
            req.setAttribute("flag","null");
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }else {
            if ( password.equals(user.getPassword()) ){
                //登陆成功
                session.setAttribute("username",username);//将用户名用于session域进行权限检查
                System.out.println("登陆成功!session:"+session.getAttribute("username"));

                if (username!=null){
                    Cookie c = new Cookie("user",username);
                    c.setMaxAge(60);//有效时间60s
                    resp.addCookie(c);//将Cookie对象保存到客户端
                }

                resp.sendRedirect("/ListServlet");
            }else {
                req.setAttribute("flag","false");
                req.getRequestDispatcher("/login.jsp").forward(req,resp);
            }
        }
    }
}


@WebServlet(name = "AddServlet")
public class AddServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Student student = new Student();

        // 直接从表单中获取数据
        int studentID = Integer.parseInt(req.getParameter("studentID"));
        String name = req.getParameter("name");
        int age = Integer.parseInt(req.getParameter("age"));
        String sex = req.getParameter("radio");

        student.setStudentID(studentID);
        student.setName(name);
        student.setAge(age);
        student.setSex(sex);

        new StudentDAO().add(student);
        resp.sendRedirect("ListServlet");  // 这里可以理解为刷新,重新请求
    }
}

@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        HttpSession session = req.getSession();
        System.out.println("已登录用户为:"+session.getAttribute("username"));
        session.removeAttribute("username");
        System.out.println("已退出登录");
        resp.sendRedirect("/login.jsp");
    }
}


@WebFilter(filterName = "LoginFilter")
public class LoginFilter implements Filter {
    //静态代码块中向集合中存放所有可以放行的请求或网页地址(不用账号密码即可访问)
    public static ArrayList<String> urls = new ArrayList<>();
    static {
        urls.add("/login.jsp");
        urls.add("/register.jsp");
        urls.add("/LoginServlet");
        urls.add("/RegisterServlet");
        urls.add("/index.jsp");
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

        // 获得在下面代码中要用的request,response,session对象
        HttpServletRequest servletRequest = (HttpServletRequest) req;
        HttpServletResponse servletResponse = (HttpServletResponse) resp;
        HttpSession session = servletRequest.getSession();
        // 获得用户请求的URI
        String path = servletRequest.getRequestURI();
        System.out.println("已进入登陆过滤器,请求地址:"+path);
        // 从session里取员工工号信息
        String username = (String) session.getAttribute("username");
        System.out.println("当前Sessiond对象:"+username);
        // 登陆页面无需过滤
        for (String url : urls ) {
            if(url.equals(path) || path.contains(url)) {
                //System.out.println("resource do chain...");
                System.out.println("放行!");
                chain.doFilter(req, resp);
                //防止重复响应
                return;
            }
        }
        // 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
        if (username == null || "".equals(username)) {
            System.out.println("没有员工信息,开始读取Cookie");
            Cookie[] cookies = servletRequest.getCookies();
            String value = null;//Cookie的值
            if (cookies!=null){
                for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
                    if (cookies[i].getName().equals("user")){
                        value = cookies[i].getValue();
                    }
                    System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
                }
            }
            if (value != null){//Cookie值不为空,自动登陆成功
                session.setAttribute("username",value);
        student.setAge(age);
        student.setSex(sex);

        new StudentDAO().update(student);
        System.out.println("UpdateServlet!!");
        resp.sendRedirect("ListServlet");
    }
}

@WebServlet(name = "AddServlet")
public class AddServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Student student = new Student();

        // 直接从表单中获取数据
        int studentID = Integer.parseInt(req.getParameter("studentID"));
        String name = req.getParameter("name");
        int age = Integer.parseInt(req.getParameter("age"));
        String sex = req.getParameter("radio");

        student.setStudentID(studentID);
        student.setName(name);
        student.setAge(age);
        student.setSex(sex);

        new StudentDAO().add(student);
        resp.sendRedirect("ListServlet");  // 这里可以理解为刷新,重新请求
    }
}

                //防止重复响应
                return;
            }
        }
        // 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
        if (username == null || "".equals(username)) {
            System.out.println("没有员工信息,开始读取Cookie");
            Cookie[] cookies = servletRequest.getCookies();
            String value = null;//Cookie的值
            if (cookies!=null){
                for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
                    if (cookies[i].getName().equals("user")){
                        value = cookies[i].getValue();
                    }
                    System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
                }
            }
            if (value != null){//Cookie值不为空,自动登陆成功
                session.setAttribute("username",value);
                System.out.println("Cookie自动登陆成功!");
                chain.doFilter(req, resp);//放行
                return;
            }else{
                // 跳转到登陆页面
                System.out.println("拦截!");
                servletResponse.sendRedirect("/login.jsp");
            }
        } else {
            // 已经登陆,继续此次请求
            chain.doFilter(req, resp);
        }
    }

    public void init(FilterConfig config) throws ServletException {
    }

    public void destroy() {
    }
}

            start = Integer.parseInt(req.getParameter("page.start"));
            count = Integer.parseInt(req.getParameter("page.count"));
        } catch (Exception e) {
        }

        Page page = new Page(start, count);

        List<Student> students = studentDAO.list(page.getStart(), page.getCount());
        int total = studentDAO.getTotal();
        page.setTotal(total);
        //List<Student> students = studentDAO.list();
        req.setAttribute("students", students);
        req.setAttribute("page", page);
        System.out.println("ListServlet!!");
        req.getRequestDispatcher("/list.jsp").forward(req, resp);
    }
}

@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);
        System.out.println(username+"+"+password);
        System.out.println(user.getUsername()+"+"+user.getPassword());
        if (user.getUsername() == null){
            user.setUsername(username);
            user.setPassword(password);
            new UserDAO().addUser(user);
            System.out.println("注册成功!");
            resp.sendRedirect("login.jsp");
        }else {
            req.setAttribute("flag","false");//用户已存在
            req.getRequestDispatcher("/register.jsp").forward(req,resp);
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Student student = new Student();

        // 直接从表单中获取数据
        int studentID = Integer.parseInt(req.getParameter("studentID"));
        String name = req.getParameter("name");
        int age = Integer.parseInt(req.getParameter("age"));
        String sex = req.getParameter("radio");

        student.setStudentID(studentID);
        student.setName(name);
        student.setAge(age);
        student.setSex(sex);

        new StudentDAO().add(student);
        resp.sendRedirect("ListServlet");  // 这里可以理解为刷新,重新请求
    }
}

@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        HttpSession session = req.getSession();
        System.out.println("已登录用户为:"+session.getAttribute("username"));
        session.removeAttribute("username");
        System.out.println("已退出登录");
        resp.sendRedirect("/login.jsp");
    }
}


@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);

        HttpSession session = req.getSession();

        if (user.getUsername() == null){//若用户不存在
            req.setAttribute("flag","null");
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }else {
            if ( password.equals(user.getPassword()) ){
                //登陆成功
                session.setAttribute("username",username);//将用户名用于session域进行权限检查
                System.out.println("登陆成功!session:"+session.getAttribute("username"));

                if (username!=null){
                    Cookie c = new Cookie("user",username);
                    c.setMaxAge(60);//有效时间60s
                    resp.addCookie(c);//将Cookie对象保存到客户端
                }

                resp.sendRedirect("/ListServlet");
            }else {
                req.setAttribute("flag","false");
                req.getRequestDispatcher("/login.jsp").forward(req,resp);
            }
        }
    }
}
@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);
        System.out.println(username+"+"+password);
        System.out.println(user.getUsername()+"+"+user.getPassword());
        if (user.getUsername() == null){
            user.setUsername(username);
            user.setPassword(password);
            new UserDAO().addUser(user);
            System.out.println("注册成功!");
            resp.sendRedirect("login.jsp");
        }else {
            req.setAttribute("flag","false");//用户已存在
            req.getRequestDispatcher("/register.jsp").forward(req,resp);
        }

    }
}

@WebServlet(name = "UpdateServlet")
public class UpdateServlet extends HttpServlet {

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Student student = new Student();

        }else {
            if ( password.equals(user.getPassword()) ){
                //登陆成功
                session.setAttribute("username",username);//将用户名用于session域进行权限检查
                System.out.println("登陆成功!session:"+session.getAttribute("username"));

                if (username!=null){
                    Cookie c = new Cookie("user",username);
                    c.setMaxAge(60);//有效时间60s
                    resp.addCookie(c);//将Cookie对象保存到客户端
                }

                resp.sendRedirect("/ListServlet");
            }else {
                req.setAttribute("flag","false");
                req.getRequestDispatcher("/login.jsp").forward(req,resp);
            }
        }
    }
}

@WebServlet(name = "SearchServlet")
public class SearchServlet extends HttpServlet {
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String content = request.getParameter("content");
        String type = request.getParameter("type");
        System.out.println("内容为:"+content+" 类型为:"+type);
        ArrayList<Student> students = new StudentDAO().getStudent(type,content);

        Gson gson = new Gson();
        String json = gson.toJson(students);//解析数据生成Json
        for (Student s : students){
            System.out.println("查询结果:"+s.getName()+s.getStudentID());

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

        // 获得在下面代码中要用的request,response,session对象
        HttpServletRequest servletRequest = (HttpServletRequest) req;
        HttpServletResponse servletResponse = (HttpServletResponse) resp;
        HttpSession session = servletRequest.getSession();
        // 获得用户请求的URI
        String path = servletRequest.getRequestURI();
        System.out.println("已进入登陆过滤器,请求地址:"+path);
        // 从session里取员工工号信息
        String username = (String) session.getAttribute("username");
        System.out.println("当前Sessiond对象:"+username);
        // 登陆页面无需过滤
        for (String url : urls ) {
            if(url.equals(path) || path.contains(url)) {
                //System.out.println("resource do chain...");
                System.out.println("放行!");
                chain.doFilter(req, resp);
                //防止重复响应
                return;
            }
        }
        // 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
        if (username == null || "".equals(username)) {
            System.out.println("没有员工信息,开始读取Cookie");
            Cookie[] cookies = servletRequest.getCookies();
            String value = null;//Cookie的值
            if (cookies!=null){
                for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
                    if (cookies[i].getName().equals("user")){
                        value = cookies[i].getValue();
                    }
                    System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
                }
            }
            if (value != null){//Cookie值不为空,自动登陆成功
                session.setAttribute("username",value);
                System.out.println("Cookie自动登陆成功!");
                chain.doFilter(req, resp);//放行
                return;
            }else{
                // 跳转到登陆页面
                System.out.println("拦截!");
                servletResponse.sendRedirect("/login.jsp");
            }
        } else {
            // 已经登陆,继续此次请求
            chain.doFilter(req, resp);
        }

@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);

        HttpSession session = req.getSession();

        if (user.getUsername() == null){//若用户不存在
            req.setAttribute("flag","null");
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }else {
            if ( password.equals(user.getPassword()) ){
                //登陆成功
                session.setAttribute("username",username);//将用户名用于session域进行权限检查
                System.out.println("登陆成功!session:"+session.getAttribute("username"));

                if (username!=null){
                    Cookie c = new Cookie("user",username);
                    c.setMaxAge(60);//有效时间60s
                    resp.addCookie(c);//将Cookie对象保存到客户端
                }

                resp.sendRedirect("/ListServlet");
            }else {
                req.setAttribute("flag","false");
                req.getRequestDispatcher("/login.jsp").forward(req,resp);
            }
        }
    }
}


        Student student = new Student();

        // 直接从表单中获取数据
        int studentID = Integer.parseInt(req.getParameter("studentID"));
        String name = req.getParameter("name");
        int age = Integer.parseInt(req.getParameter("age"));
        String sex = req.getParameter("radio");

        student.setStudentID(studentID);
        student.setName(name);
        student.setAge(age);
        student.setSex(sex);

        new StudentDAO().add(student);
        resp.sendRedirect("ListServlet");  // 这里可以理解为刷新,重新请求
    }
}

@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        HttpSession session = req.getSession();
        System.out.println("已登录用户为:"+session.getAttribute("username"));
        session.removeAttribute("username");
        System.out.println("已退出登录");
        resp.sendRedirect("/login.jsp");
    }
}


@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        HttpSession session = req.getSession();
        System.out.println("已登录用户为:"+session.getAttribute("username"));
        session.removeAttribute("username");
        System.out.println("已退出登录");
        resp.sendRedirect("/login.jsp");
    }
}

@WebServlet(name = "EditStudent")
public class EditServlet extends HttpServlet {

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        int id = Integer.parseInt(req.getParameter("id"));
        Student student = new StudentDAO().get(id);

        req.setAttribute("student", student);
        req.getRequestDispatcher("edit.jsp").forward(req, resp);
    }
}


@WebServlet(name = "ListServlet")
public class ListServlet extends HttpServlet {

    private StudentDAO studentDAO = new StudentDAO();

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        // 获取分页参数
        int start = 0;
        int count = 10;

        try {
            start = Integer.parseInt(req.getParameter("page.start"));
            count = Integer.parseInt(req.getParameter("page.count"));
        } catch (Exception e) {
        }

        Page page = new Page(start, count);

        List<Student> students = studentDAO.list(page.getStart(), page.getCount());
        int total = studentDAO.getTotal();
        page.setTotal(total);
        //List<Student> students = studentDAO.list();
        req.setAttribute("students", students);
        req.setAttribute("page", page);
        System.out.println("ListServlet!!");
        req.getRequestDispatcher("/list.jsp").forward(req, resp);
    }
}

@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        String username = req.getParameter("username");
            if (cookies!=null){
                for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
                    if (cookies[i].getName().equals("user")){
                        value = cookies[i].getValue();
                    }
                    System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
                }
            }
            if (value != null){//Cookie值不为空,自动登陆成功
                session.setAttribute("username",value);
                System.out.println("Cookie自动登陆成功!");
                chain.doFilter(req, resp);//放行
                return;
            }else{
                // 跳转到登陆页面
                System.out.println("拦截!");
                servletResponse.sendRedirect("/login.jsp");
            }
        } else {
            // 已经登陆,继续此次请求
            chain.doFilter(req, resp);
        }
    }

    public void init(FilterConfig config) throws ServletException {
    }

    public void destroy() {
    }
}

@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = new UserDAO().getUser(username);
            req.getRequestDispatcher("/login.jsp").forward(req,resp);
        }else {
            if ( password.equals(user.getPassword()) ){
                //登陆成功
                session.setAttribute("username",username);//将用户名用于session域进行权限检查
                System.out.println("登陆成功!session:"+session.getAttribute("username"));

                if (username!=null){
                    Cookie c = new Cookie("user",username);
                    c.setMaxAge(60);//有效时间60s
                    resp.addCookie(c);//将Cookie对象保存到客户端
                }

                resp.sendRedirect("/ListServlet");
            }else {
                req.setAttribute("flag","false");
                req.getRequestDispatcher("/login.jsp").forward(req,resp);
            }
        }
    }
}

@WebServlet(name = "SearchServlet")
public class SearchServlet extends HttpServlet {
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String content = request.getParameter("content");
        String type = request.getParameter("type");
        System.out.println("内容为:"+content+" 类型为:"+type);
        ArrayList<Student> students = new StudentDAO().getStudent(type,content);

        Gson gson = new Gson();
        String json = gson.toJson(students);//解析数据生成Json
        for (Student s : students){

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值