欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

servlet重定向詳解(八)

 更新時(shí)間:2021年09月23日 14:42:41   作者:柳暗花明睡一覺(jué)  
這篇文章主要為大家詳細(xì)介紹了servlet重定向的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了servlet重定向的具體內(nèi)容,供大家參考,具體內(nèi)容如下

1.重定向是什么?

這里說(shuō)的重定向是由http協(xié)議規(guī)定的一種機(jī)制。其工作流程如下所述。

(1)客戶(hù)端發(fā)起http請(qǐng)求,訪問(wèn)服務(wù)器端組件。

(2)服務(wù)器端返回一個(gè)狀態(tài)代碼為302的響應(yīng)結(jié)果。該代碼的意思是讓瀏覽器再訪問(wèn)另一個(gè)組件,響應(yīng)結(jié)果中包含著訪問(wèn)新組件的url地址。新的訪問(wèn)組件可能在同一個(gè)應(yīng)用中也可能不在同一個(gè)應(yīng)用中。

(3)當(dāng)瀏覽器接受到這種結(jié)果,會(huì)自動(dòng)訪問(wèn)新的url.

(4)瀏覽器端接受新的url返回結(jié)果。

2.實(shí)現(xiàn)

重定向通過(guò)Servlet API 中HttpServletReponse接口提供的 sendRedirect(String location)方法完成。

3.重定向特點(diǎn)

3.1 servlet源組件的響應(yīng)結(jié)果不會(huì)返回到客戶(hù)端。

3.2  servlet源組件和目標(biāo)組件不會(huì)共享同一個(gè)ServletRequest對(duì)象。

3.3 如果源組件在進(jìn)行重定向前提前提交響應(yīng)結(jié)果,會(huì)報(bào)異常。

3.4 重定向的地址不必是同一個(gè)服務(wù)器的應(yīng)用。

4.案例

Check1Servlet 第一次請(qǐng)求的類(lèi)

package com.learn;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2017/09/28.
 */
public class Check1Servlet extends HttpServlet {

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

  String userName = req.getParameter("name");
  String message = "";

  if(userName == null){
   message = "please input your name";
  } else {
   message = userName;
  }
  req.setAttribute("mess",message);

  PrintWriter out = resp.getWriter();
  out.print("before redirect ");
  System.out.println("before redirect");

  resp.sendRedirect("out1?mess="+message);
  out.print("after redirect");
  System.out.println("after redirect");

  out.close();
 }
}

Out1Servlet 重定向的類(lèi)

package com.learn;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by Administrator on 2017/09/28.
 */
public class Out1Servlet extends HttpServlet {

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

  String mess = (String) req.getAttribute("mess");
  System.out.println("請(qǐng)求范圍內(nèi)的數(shù)據(jù):"+mess);

  mess = req.getParameter("mess");
  System.out.println("請(qǐng)求參數(shù)中的:"+mess);

  PrintWriter out = resp.getWriter();
  out.write(mess);
  out.close();



 }
}

控制臺(tái)輸出結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Boot項(xiàng)目傳參校驗(yàn)的最佳實(shí)踐指南

    Spring?Boot項(xiàng)目傳參校驗(yàn)的最佳實(shí)踐指南

    有參數(shù)傳遞的地方都少不了參數(shù)校驗(yàn),在web開(kāi)發(fā)中前端的參數(shù)校驗(yàn)是為了用戶(hù)體驗(yàn),后端的參數(shù)校驗(yàn)是為了安全,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot項(xiàng)目傳參校驗(yàn)的最佳實(shí)踐,需要的朋友可以參考下
    2022-04-04
  • Pulsar源碼徹底解決重復(fù)消費(fèi)問(wèn)題

    Pulsar源碼徹底解決重復(fù)消費(fèi)問(wèn)題

    這篇文章主要為大家介紹了Pulsar源碼徹底解決重復(fù)消費(fèi)問(wèn)題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 深入了解java中的string對(duì)象

    深入了解java中的string對(duì)象

    這篇文章主要介紹了java中的string對(duì)象,String對(duì)象是Java中使用最頻繁的對(duì)象之一,所以Java開(kāi)發(fā)者們也在不斷地對(duì)String對(duì)象的實(shí)現(xiàn)進(jìn)行優(yōu)化,以便提升String對(duì)象的性能。對(duì)此感興趣的朋友跟隨小編一起看看吧
    2019-11-11
  • Java調(diào)用微信客服消息實(shí)現(xiàn)發(fā)貨通知的方法詳解

    Java調(diào)用微信客服消息實(shí)現(xiàn)發(fā)貨通知的方法詳解

    這篇文章主要介紹了Java調(diào)用微信客服消息實(shí)現(xiàn)發(fā)貨通知的方法,結(jié)合實(shí)例形式詳細(xì)分析了java針對(duì)微信接口調(diào)用的原理、調(diào)用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • 使用Java 8中的Lambda表達(dá)式實(shí)現(xiàn)工廠模式

    使用Java 8中的Lambda表達(dá)式實(shí)現(xiàn)工廠模式

    這篇文章主要給大家介紹了使用Java 8中的Lambda表達(dá)式實(shí)現(xiàn)工廠模式的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • springboot下添加日志模塊和設(shè)置日志文件輸出的方法

    springboot下添加日志模塊和設(shè)置日志文件輸出的方法

    日志的使用將通過(guò)SLF4J來(lái)使用,SLF4J是一個(gè)為Java應(yīng)用提供簡(jiǎn)單日志記錄的接口,在Spring框架中,SLF4J常常用于處理框架本身以及應(yīng)用程序的日志記錄,本文給大家介紹springboot下添加日志模塊和設(shè)置日志文件輸出的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2023-12-12
  • Java爬蟲(chóng)范例之使用Htmlunit爬取學(xué)校教務(wù)網(wǎng)課程表信息

    Java爬蟲(chóng)范例之使用Htmlunit爬取學(xué)校教務(wù)網(wǎng)課程表信息

    htmlunit 是一款開(kāi)源的java 頁(yè)面分析工具,讀取頁(yè)面后,可以有效的使用htmlunit分析頁(yè)面上的內(nèi)容。項(xiàng)目可以模擬瀏覽器運(yùn)行,被譽(yù)為java瀏覽器的開(kāi)源實(shí)現(xiàn)。今天我們用這款分析工具來(lái)爬取學(xué)校教務(wù)網(wǎng)課程表信息
    2021-11-11
  • Java單例模式的深入了解

    Java單例模式的深入了解

    這篇文章主要為大家介紹了Java單例模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • SpringBoot應(yīng)用部署于外置Tomcat容器的方法

    SpringBoot應(yīng)用部署于外置Tomcat容器的方法

    這篇文章主要介紹了SpringBoot應(yīng)用部署于外置Tomcat容器的方法,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • 都9102年了,你還用for循環(huán)操作集合嗎

    都9102年了,你還用for循環(huán)操作集合嗎

    這篇文章主要給大家介紹了關(guān)于java中for循環(huán)操作集合使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論