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

简介: 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

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
773 12
|
关系型数据库 MySQL
MySQL表的增删改查(基础篇详细详解)
MySQL表的增删改查(基础篇详细详解)
1058 5
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
329 1
|
关系型数据库 MySQL 数据库
mysql的增删改查
本文介绍了MySQL数据库中进行增删改查操作的基本语法和注意事项,包括如何添加、修改和删除数据。
344 2
|
11月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
649 158
|
11月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1736 152
|
11月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1154 156
|
11月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
758 156

推荐镜像

更多