Servlet框架(servlet+jsp)+Mysql实现的增删改查+分页(功能包学生信息录入、学生信息增删改查、分页等)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Servlet框架(servlet+jsp)+Mysql实现的增删改查+分页(功能包学生信息录入、学生信息增删改查、分页等)

Servlet框架(servlet+jsp)+Mysql实现的增删改查+分页

本系统实现了一个java的servlet框架+jsp的学生信息增删改查+分页的实例,简单易懂,特别适合刚学servlet的伙伴。

实现功能截图

学生信息录入
请添加图片描述
录入成功
请添加图片描述
学生信息列表
请添加图片描述
修改学生信息
请添加图片描述
修改成功
请添加图片描述

下一页(分页功能)
请添加图片描述
删除学生
请添加图片描述
删除成功
请添加图片描述

系统功能

本会议管理系统实现了以下功能:
1、学生信息录入
2、录入成功
3、学生信息列表
4、分页
5、学生信息编辑
6、学生信息删除

使用技术

数据库:mysql
开发工具:Eclipse(Myeclispe、Idea也可以)
知识点:servlet+jsp

代码

实体类
Page.java

package bean;

public class Page {
     private int totalPage;
     private int currentPage;
     private int totalRecord;
     private int currentRecord;
     private int pageSize=8;
     //获得和设置当前页
     public int getCurrentPage(){
         return currentPage;
     }
     public void setCurrentPage(int currentRecord,int pageSize){
         if(currentRecord%pageSize==0){
             currentPage=currentRecord/pageSize;
         }
         else{
             currentPage=currentRecord/pageSize+1;
         }
     }
     //获得和设置当前记录
     public int getCurrentRecord(){
         return currentRecord;
     }
     public void setCurrentRecord(int currentRecord){
         this.currentRecord=currentRecord;
     }
     //获得和设置每页记录数量
     public int getPageSize(){
         return pageSize;
     }
     public void setPageSize(int pageSize){
         this.pageSize=pageSize;
     }
     //获得和设置总页数
     public int getTotalPage(){
         return totalPage;
     }
     public void setTotalPage(int totalRecord,int pageSize){
         if(totalRecord%pageSize==0){
             totalPage=totalRecord/pageSize;
         }
         else{
             totalPage=totalRecord/pageSize+1;
         }
     }
     //获得和设置总记录
     public int getTotalRecord(){
         return totalRecord;
     }
     public void setTotalRecord(int totalRecord){
         this.totalRecord=totalRecord;
     }

     
}

StudentInfo.java

package bean;

public class StudentInfo {

        private int id;               //学号
        private String name;       //姓名
        private int age;           //年龄
        private String gender;     //性别
        private String major;      //专业
        public StudentInfo(){
            
        }
        public StudentInfo(int id,String name,int age,String gender,String major){
            this.id=id;
            this.name=name;
            this.age=age;
            this.gender=gender;
            this.major=major;
        }
        public int getId(){
            return id;
        }
        public void setId(int id){
            this.id=id;
        }
        
        public String getName(){
            return name;
        }
        public void setName(String name){
            this.name=name;
        }
        
        public int getAge(){
            return age;
        }
        public void setAge(int age){
            this.age=age;
        }
        
        public String getGender(){
            return gender;
        }
        public void setGender(String gender){
            this.gender=gender;
        }
        public String getMajor(){
            return major;
        }
        public void setMajor(String major){
            this.major=major;
        }
}

servlet 类
AllServlet.java:

package dbservlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.Page;
import bean.StudentInfo;

public class AllServlet extends HttpServlet {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

     //doPost方法
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
               response.setCharacterEncoding("UTF-8");
            String methodName=request.getParameter("methodName");
            int method=Integer.parseInt(methodName); //将字符串解析为数字
        try {  
            switch(method)
               {
                case 0:
                    insert(request,response);
                    break;
                case 1:
                    difpage(request,response);
                    break;    
                case 2:
                      delete(request,response);
                      break;       
                case 3:
                      update(request,response);
                      break;
                case 4:
                    update1(request,response);
                    break;
                case 5:
                    dispatch(request,response);
                    break;
               }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } 
    }
    //doGet方法
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
       doPost(request,response);
    }
    
    
    //数据库连接方法
    public Connection connect() throws ClassNotFoundException, SQLException{
        Connection conn=null; 
        Class.forName("com.mysql.jdbc.Driver");
        String url="jdbc:mysql://localhost:3306/springside"; 
        String user="root"; 
        String password="xxxxx"; 
        conn=DriverManager.getConnection(url,user,password); 
        return conn;
    }
    //关闭数据库资源
    public void close(Statement stat,Connection conn) throws SQLException{
        if(stat!=null){
               stat.close();
        }
        if(conn!=null){
               conn.close();
        }
    }
    //插入方法
    public void insert(HttpServletRequest request, HttpServletResponse response) 
    throws ClassNotFoundException, SQLException , IOException,ServletException{
        Connection conn=null;
        Statement stat=null;
        String id=request.getParameter("id");
        String name=request.getParameter("name");
        String age=request.getParameter("age");
        String gender=request.getParameter("gender");
        String major=request.getParameter("major");
        conn=connect();
        stat=conn.createStatement();
        stat.execute("insert into student(id,name,age,gender,major) values("+id+",'"+name+"',"+age+",'"+gender+"','"+major+"')");
        close(stat,conn);
        request.getRequestDispatcher("InsertSuccess.jsp").forward(request, response);
    }
    //查询方法
    public ArrayList<StudentInfo> select(String id,String name) throws ClassNotFoundException, SQLException{
        Connection conn=null;
        Statement stat=null;
        ResultSet rs=null;
        conn=connect();
        stat=conn.createStatement();
        ArrayList<StudentInfo> result=new ArrayList<StudentInfo>();
        if(id==""&&name==""){
             rs=stat.executeQuery("select * from student"); 
        }
        if(id!=""&&name==""){
               rs=stat.executeQuery("select * from student where id="+id+""); 
         }
        if(id==""&&name!=""){
               rs=stat.executeQuery("select * from student where name='"+name+"'"); 
           }
        if(id!=""&&name!=""){
              rs=stat.executeQuery("select * from student where id="+id+" and name='"+name+"'"); 
          }
        while(rs.next())
        {
            StudentInfo st=new StudentInfo();
            st.setId(rs.getInt("id"));
            st.setName(rs.getString("name"));
            st.setAge(rs.getInt("age"));
            st.setGender(rs.getString("gender"));
            st.setMajor(rs.getString("major")); 
            result.add(st);    
        }
        if(rs!=null){
              rs.close();
           }
        close(stat,conn);
        return result;
    }
    //条件查询跳转
    public void dispatch(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException, ServletException, IOException{
        String id5=request.getParameter("id");
        String name5=request.getParameter("name");  
     if(select(id5,name5).isEmpty()){
            request.getRequestDispatcher("selectnothing.jsp").forward(request, response);
        }
       else{
            request.setAttribute("result", select(id5,name5));
            request.getRequestDispatcher("idnameselect.jsp").forward(request, response);    
        }
    }
    //设置分页相关参数方法
    public Page setpage(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException{
        String crd=request.getParameter("currentRecord");
        //String id=request.getParameter("id");
      //  String name=request.getParameter("name");
        ArrayList<StudentInfo> result=select("","");
        Page pager=new Page();
        pager.setTotalRecord(result.size()); 
        pager.setTotalPage(result.size(),pager.getPageSize());
        if(crd!=null)
        {
            int currentRecord=Integer.parseInt(crd);
            pager.setCurrentRecord(currentRecord);
            pager.setCurrentPage(currentRecord,pager.getPageSize());
        }
        return pager;
    }
    //获得分页显示的子集
     public void difpage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException, SQLException{
        // String id=request.getParameter("id");
        // String name=request.getParameter("name");
         ArrayList<StudentInfo> result=select("",""); //返回查询的结果集
         Page pager=new Page();
         pager=setpage(request,response);
           List<StudentInfo> subResult=null;
           int currentRecord=pager.getCurrentRecord();
         if(currentRecord==0){
             if(pager.getTotalRecord()<8){
                 subResult=(List<StudentInfo>) result.subList(0,pager.getTotalRecord());
             }
             else{
                 subResult=(List<StudentInfo>) result.subList(0,pager.getPageSize());
             }         
         }
         else if(pager.getCurrentRecord()+pager.getPageSize()<result.size())
         {
               subResult=(List<StudentInfo>) result.subList(pager.getCurrentRecord(),pager.getCurrentRecord()+pager.getPageSize());
         }
         else
         {
              subResult=(List<StudentInfo>) result.subList(pager.getCurrentRecord(),result.size());
         }
         request.setAttribute("pager", pager);
         request.setAttribute("subResult", subResult);
         request.getRequestDispatcher("layout.jsp").forward(request, response);
     }
    //信息删除方法
    public void delete(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException, ServletException, IOException{
        Connection conn=null;
        Statement stat=null;
        conn=connect();
         stat=conn.createStatement();
         String id2=request.getParameter("id");
        stat.execute("delete from student where id="+id2+"");
        request.getRequestDispatcher("delete.jsp").forward(request, response);
    } 
    //信息修改方法
    public void update1(HttpServletRequest request, HttpServletResponse response) throws ClassNotFoundException, SQLException, ServletException, IOException{
        String id4=request.getParameter("id");
        request.setAttribute("result", select(id4,""));
        request.getRequestDispatcher("update1.jsp").forward(request, response);
    }   
    //修改
    public void update(HttpServletRequest request, HttpServletResponse response) 
    throws ClassNotFoundException, SQLException, ServletException, IOException{
        Connection conn=null;
        Statement stat=null;
        String id3=request.getParameter("id");
        String name3=request.getParameter("name");
        String age3=request.getParameter("age");
        String gender3=request.getParameter("gender");
        String major3=request.getParameter("major");
        conn=connect();
         stat=conn.createStatement();
        stat.execute("update student set id="+id3+",name='"+name3+"',age="+age3+",gender='"+gender3+"',major='"+major3+"' where id="+id3+"");
        request.setAttribute("result", select(id3,""));    
        request.getRequestDispatcher("update.jsp").forward(request, response); 
    } 
   
}


写在最后

如果运行代码中遇到问题,或者需要完整源码和报告,可以加博主V交流:Code2Life2

觉得有用,记得一键三连哦!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
关系型数据库 MySQL
MySQL查看连接数和进程信息
这篇文章介绍了如何在MySQL中查看连接数和进程信息,包括当前打开的连接数量、历史成功建立连接的次数、连接错误次数、连接超时设置,以及如何查看和终止正在执行的连接进程。
645 10
|
4月前
|
自然语言处理 关系型数据库 MySQL
mysql 全文搜索功能优缺点
mysql 全文搜索功能优缺点
|
2月前
|
存储 SQL 关系型数据库
MySQL 存储过程错误信息不打印在控制台
MySQL 存储过程错误信息不打印在控制台
77 1
|
1月前
|
SQL 关系型数据库 MySQL
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
41 0
|
2月前
|
存储 关系型数据库 MySQL
MySQL 如何存储地理信息
MySQL 如何存储地理信息
146 1
|
4月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
89 3
|
3天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
45 15
|
3天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
7天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
15天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据