重定向

重定向的特点:
1.地址栏发生变化
2.重定向可以访问其他站点(服务器)的资源
3.重定向是两次请求,不可以使用Request对象共享数据

重定向的示例代码:

package priv.lwx.javaex.servlet_demo.web.servlet.response;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 java.io.IOException;/*** 重定向演示代码** @author liaowenxiong* @date 2022/1/10 11:01*/
@WebServlet("/response_demo01")
public class ResponseDemo01 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 访问ResponseDemo01,重定向到ResponseDemo02System.out.println("访问了ResponseDemo01");// 设置重定向的状态码resp.setStatus(302);// 设置响应头resp.setHeader("Location","/servlet_demo/response_demo02");}
}

或者

package priv.lwx.javaex.servlet_demo.web.servlet.response;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 java.io.IOException;/*** 重定向演示代码** @author liaowenxiong* @date 2022/1/10 11:01*/
@WebServlet("/response_demo03")
public class ResponseDemo03 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("访问了ResponseDemo03");// 访问ResponseDemo03,重定向到ResponseDemo02resp.sendRedirect("/servlet_demo/response_demo02");}
}

转发

转发的特点:
1.转发地址栏路径不变
2.转发只能访问当前服务器下的资源 ??同个服务器下的其它项目的资源也可以跳转吗?
3.转发是一次请求,可以使用Request对象共享数据

转发的示例代码:

package priv.lwx.javaex.servlet_demo.web.servlet.request;
/*** 请求转发演示代码** @author liaowenxiong* @date 2021/12/29 11:21*/import javax.servlet.RequestDispatcher;
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 java.io.IOException;@WebServlet(value = "/request_demo07")
public class RequestDemo07 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("demo07被访问了...");// 转发到demo08资源/*RequestDispatcher dispatcher = request.getRequestDispatcher("/request-demo08");dispatcher.forward(request,response);*/// 转发前存储数据到request对象中request.setAttribute("msg","hello");request.getRequestDispatcher("/request-demo08").forward(request, response);}
}

Servlet的重定向和转发特点相关推荐

  1. 重定向地址_JavaWeb - Servlet:重定向和转发,状态管理

    Servlet + JDBC 应用 在 Servlet 中可以使用 JDBC 技术访问数据库,常见功能如下: 查询 DB 数据,然后生成显示页面,例如:列表显示功能. 接收请求参数,然后对 DB 操作 ...

  2. Servlet重定向和转发

    重定向和转发的区别 相同点 页面都会实现跳转 不同点 请求转发的时候,URL地址栏不会发生变化 重定向的时候,URL地址栏会发生变化 HttpServletRequest代表客户端的请求,用户通过Ht ...

  3. SpringMVC系列(九)自定义视图、重定向、转发

    一.自定义视图 1. 自定义一个视图HelloView.java,使用@Component注解交给Spring IOC容器处理 1 package com.study.springmvc.views; ...

  4. java web中的重定向和转发,forward和sendRedriect

    前台页面到后台请求,后台给予回应分为重定向和转发两种.forward和sendRedirect的区别. 1,在forward方式下,在执行前jsp对象或者servlet对象的过程中去调用目标文件对应的 ...

  5. 重定向和转发的区别+使用情景

    重定向和转发的区别: // 重定向 response.sendRedirect("xxx.jsp或者servlet"); // 转发 request.getRequestDispa ...

  6. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)

    HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...

  7. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)

    HttpServletRequest获取请求头信息  (1)获取客户机请求头 String getHeader(String name) Enumeration<String> getHe ...

  8. 使用Servlet实现重定向到另一个Servlet文件下载服务端下载

    场景:使用Servlet实现重定向到另一个Servlet文件下载服务端下载,重定向的Servlet只做验证处理功能,        而实际下载功能是内部服务. 1.创建一个spring的web项目,确 ...

  9. Java学习记录 04SpringMVC 重定向和转发

    SpringMVC 重定向和转发 Spring MVC 请求方式 分为:转发.重定向 2种.在Servlet中 请求方式处理都是在 controller层 !!! 转发 客户浏览器发送 http 请求 ...

最新文章

  1. 图解Numpy的tile函数
  2. RHEL7配置本地yum源
  3. 比较简单的创造印象派画风的网站
  4. QT学习:目录操作与文件系统
  5. Gym - 101775J Straight Master(差分数组)
  6. 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
  7. python xlsx 大文件_Python这样操作能存储100多万行的xlsx文件!Python让你事半功倍!
  8. 【要闻】Kubernetes安全问题严峻、Linux v5.4安全性浅谈
  9. 布林通道参数用20还是26_布林通道(BOLL)策略的投资效果如何?
  10. 对于placeholder浏览器兼容性(包括密码输入框)解决办法
  11. L298N电机驱动电路
  12. Linux性能优化(九)——Kernel Bypass
  13. 计算机题库启用宏,2009计算机一级:打开文件时一定要启用宏
  14. java中io的重要性_java中的IO整理
  15. mysql 重做日志 镜像_mysql重做日志 - osc_vr7hvjd2的个人空间 - OSCHINA - 中文开源技术交流社区...
  16. CommandNotFoundError: No command ‘conda activate‘
  17. Julia:报错 no method matching increment_deriv!(::Float64, ::Float64)
  18. 看《江山美人》,让我三次笑场
  19. Lammps切削过程实现及工件表面识别
  20. 2021年全球与中国线性滑轨行业市场规模及发展前景分析

热门文章

  1. qa/qc_专业QA如何实施可靠的CI / CD管道?
  2. java开发五年面试经验_只有经验丰富的开发人员才能教您有关Java的5件事
  3. 忽略异常_忽略已检查的异常,所有出色的开发人员都在这样做–基于600,000个Java项目...
  4. tomcat与tomee_Apache TomEE(和Tomcat)的自签名证书
  5. Spring Boot中的@SpringBootConfiguration注释
  6. 在事务外自动保存托管JPA实体
  7. servlet文件上传下载_Servlet上传文件和下载文件示例
  8. jboss url路径_在JBoss的服务器端正确解码URL参数
  9. 弹簧和线程:TaskExecutor
  10. Apache Spark RDD和Java流