专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Servlet分页实例

Servlet分页实例

更新时间:2022-01-04 10:50:26 来源:星辉 浏览769次

为了将大量记录分成多个部分,我们使用分页。它允许用户只显示部分记录。在单个页面中加载所有记录可能需要时间,因此始终建议创建分页。在servlet中,我们可以很容易地开发分页示例。

在这个 servlet 分页示例中,我们使用 MySQL 数据库来获取记录。

在这里,我们在“test”数据库中创建了“emp”表。emp 表有三个字段:id、name 和salary。手动创建表和插入记录或导入我们的 sql 文件。

索引.html

<a href="ViewServlet?page=1">View Employees</a>  

视图Servlet.java

package com.javatpoint.servlets;  
import java.io.IOException;  
import java.io.PrintWriter;  
import java.util.List;  
import javax.servlet.ServletException;  
import javax.servlet.annotation.WebServlet;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import com.javatpoint.beans.Emp;  
import com.javatpoint.dao.EmpDao;   
@WebServlet("/ViewServlet")  
public class ViewServlet extends HttpServlet {  
    private static final long serialVersionUID = 1L;  
    protected void doGet(HttpServletRequest request, HttpServletResponse response)   
           throws ServletException, IOException {  
        response.setContentType("text/html");  
        PrintWriter out=response.getWriter();            
        String spageid=request.getParameter("page");  
        int pageid=Integer.parseInt(spageid);  
        int total=5;  
        if(pageid==1){}  
        else{  
            pageidpageid=pageid-1;  
            pageidpageid=pageid*total+1;  
        }  
        List<Emp> list=EmpDao.getRecords(pageid,total);    
        out.print("<h1>Page No: "+spageid+"</h1>");  
        out.print("<table border='1' cellpadding='4' width='60%'>");  
        out.print("<tr><th>Id</th><th>Name</th><th>Salary</th>");  
        for(Emp e:list){  
            out.print("<tr><td>"+e.getId()+"</td><td>"+e.getName()+"</td><td>"+e.getSalary()+"</td></tr>");  
        }  
        out.print("</table>");            
        out.print("<a href='ViewServlet?page=1'>1</a> ");  
        out.print("<a href='ViewServlet?page=2'>2</a> ");  
        out.print("<a href='ViewServlet?page=3'>3</a> ");            
        out.close();  
    }  
}  

Emp.java

package com.javatpoint.beans;    
public class Emp {  
private int id;  
private String name;  
private float salary;  
//getters and setters  
}  

EmpDao.java

package com.javatpoint.dao;  
import com.javatpoint.beans.*;  
import java.sql.*;  
import java.util.ArrayList;  
import java.util.List;  
public class EmpDao {    
    public static Connection getConnection(){  
        Connection con=null;  
        try{  
            Class.forName("com.mysql.jdbc.Driver");  
            con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","","");  
        }catch(Exception e){System.out.println(e);}  
        return con;  
    }    
    public static List<Emp> getRecords(int start,int total){  
        List<Emp> list=new ArrayList<Emp>();  
        try{  
            Connection con=getConnection();  
            PreparedStatement ps=con.prepareStatement("select * from emp limit "+(start-1)+","+total);  
            ResultSet rs=ps.executeQuery();  
            while(rs.next()){  
                Emp e=new Emp();  
                e.setId(rs.getInt(1));  
                e.setName(rs.getString(2));  
                e.setSalary(rs.getFloat(3));  
                list.add(e);  
            }  
            con.close();  
        }catch(Exception e){System.out.println(e);}  
        return list;  
    }  
}  

输出

以上就是关于“Servlet分页实例”的介绍,如果大家对此比较感兴趣,想了解更多相关知识,可以关注一下星辉的Servlet教程,里面有更多更丰富的知识在等着大家去学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>