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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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

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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
84 0
|
4月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
4月前
|
供应链 前端开发 Java
服装库存管理系统 Mybatis+Layui+MVC+JSP【完整功能介绍+实现详情+源码】
该博客文章介绍了一个使用Mybatis、Layui、MVC和JSP技术栈开发的服装库存管理系统,包括注册登录、权限管理、用户和货号管理、库存管理等功能,并提供了源码下载链接。
服装库存管理系统 Mybatis+Layui+MVC+JSP【完整功能介绍+实现详情+源码】
|
4月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
4月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
32 0
|
5月前
|
XML Java 数据格式
jsp和servlet有什么区别?
总的来说,JSP和Servlet都是创建动态Web应用程序的重要工具,但它们的使用依赖于特定的需求和上下文。
52 0
|
4月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
44 3
|
4月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
44 1
|
4月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
85 0
|
6月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
117 12