重定向请求与分页功能的实现

1. 重定向请求

请求转发:
request.getRequestDispatcher(“目录路径”).forward(request,response);

请求重定向:
response.sendRedirect(“目录路径”);

请求重定向和请求转发的区别:
	1) 请求转发时,地址栏不会改变(是第一个servlet的地址)
	   重定向,地址栏会发生变化(是最后一个servlet的地址)
	2) 请求转发时一次请求,跳转发生在服务器内部
	   重定向是两次请求,第一次请求会返回302的状态码和目标地址,
	      浏览器根据目标地址发送第二次请求,才完成整个流程
	3) 重定向是两次请求,所以不能利用request作用域存值取值
	   但可以使用session作用域来存值取值	   
	   请求转发因为是同一次请求,所以可以使用request作用域存值取值
	4) 请求转发的目标只能是本项目的servlet或jsp
	   重定向跳转的目标可以是任意的

页面跳转时如何选择重定向还是请求转发?

查询:         
servlet  -->  jsp   // 关系密切的跳转使用请求转发 forward()
删除:
删除servlet --> 查询列表servlet  // 关系不密切的跳转使用重定向 redirect()

2.分页功能实现

select … from … limit n; // 每次最多查询n条记录
select … from … limit m, n; // 从m开始(m从0开始),每次最多查询n条记录

每页10条记录
1 页 limit 0, 10;
2 页 limit 10, 10;
3 页 limit 20, 10;

page(页号), size(每页记录数)

m=(page-1)*size
n=size

1.分页功能的实现

Servlet代码
package controller;

import entity.User;

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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

@WebServlet(urlPatterns = "/s1")
public class Servlet1 extends HttpServlet {
    

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


        int count = 0; //数据库内的数据个数
        int total = 1; //默认首页
        int total_next = 2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值