大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 Servlet重定向詳解

Servlet重定向詳解

更新時(shí)間:2022-01-04 10:34:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1626次

1.描述

Servlet Redirect, HttpServletResponse是一個(gè)由SendRedirect()組成的接口,該方法的功能是將響應(yīng)重定向到其他頁(yè)面,例如JSP,HTML。它在瀏覽器端工作,因?yàn)樗褂?URL 欄并且它總是發(fā)送一個(gè)新請(qǐng)求。它將在服務(wù)器內(nèi)部和外部使用。以下是聲明SendRedirect()的語(yǔ)法。

response.sendRedirect("URL")

2.概念

Servlet Redirect,下圖演示了web應(yīng)用中的Servlet Redirect方法

HTML servlet1(Servlet程序)的輸出將被丟棄,并且僅servlet2的HTML輸出將瀏覽器窗口作為響應(yīng)上顯示。

瀏覽器窗口向 servlet1 程序發(fā)出初始請(qǐng)求。

servlet1 程序的所有語(yǔ)句都執(zhí)行,包括res.sendRedirect方法。

Servlet1 根據(jù)作為參數(shù)值放置在sendRedirect()方法中的 URI 生成對(duì)瀏覽器窗口的隱式響應(yīng)。隱式響應(yīng)狀態(tài)碼為300-399,該碼表示重定向。

瀏覽器窗口使用來(lái)自隱式響應(yīng)代碼的 URL 向 servlet2 程序生成一個(gè)隱式請(qǐng)求,servlet2 程序的所有語(yǔ)句都會(huì)執(zhí)行。

servlet1 的輸出被丟棄,只有 servlet2 程序的 HTML 輸出顯示為最終響應(yīng)。

向前() 發(fā)送重定向()
執(zhí)行 servlet 鏈接的 forward() 模式 執(zhí)行 sendRedirect() 通信模式
servlet 程序直接與目標(biāo) Web 資源程序通信。 servlet 程序通過(guò)與瀏覽器窗口的網(wǎng)絡(luò)往返來(lái)與目標(biāo) servlet 程序通信
servlet 程序和目標(biāo) Web 資源程序使用相同的請(qǐng)求和響應(yīng)對(duì)象,因此請(qǐng)求在目標(biāo) Web 資源程序中是可見(jiàn)和可訪問(wèn)的。 servlet 程序和目標(biāo) Web 資源程序不會(huì)使用相同的請(qǐng)求和響應(yīng)對(duì)象。所以請(qǐng)求數(shù)據(jù)在目標(biāo)程序中是不可見(jiàn)和不可訪問(wèn)的。然后sendRedirect 發(fā)送新請(qǐng)求。
在轉(zhuǎn)發(fā)請(qǐng)求期間 URL 顯示在瀏覽器窗口中并且不會(huì)更改。 在 sendRedirect 操作期間,瀏覽器窗口中的 URL 將被更改。

3.例子

索引.html

<html>
<form action="./welcome">
            <input type="submit" value="click here for splessons">
     </form> 
</html>

這里剛剛創(chuàng)建了“點(diǎn)擊這里查看 splessons”的提交按鈕,給定的 URL 是“./welcome”,確保這個(gè) URL 應(yīng)該與web.xml文件 URL匹配。

網(wǎng)頁(yè).xml

<web-app>
      <servlet>
            <servlet-name>DemoSendRedirect</servlet-name>
            <servlet-class>sendredirect.SimpleSendRedirect</servlet-class>
      </servlet>  
      <servlet-mapping>
            <servlet-name>DemoSendRedirect</servlet-name>
            <url-pattern>/welcome</url-pattern>
      </servlet-mapping>
          <welcome-file-list>  
            <welcome-file>welcome.html</welcome-file>             
          </welcome-file-list>   
</web-app>

如前所述,即DemoSendRedirect在兩個(gè)servlet和servlet-mapping中都應(yīng)該相同。

SimpleSendRedirect.java

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
public class SimpleSendRedirect extends HttpServlet {      
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException { 
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String tutorialName = request.getParameter("name");
        response.sendRedirect("https://www.splessons.com");
        out.flush();
        out.close();
    } 
}

Servlet 重定向,這里 setContentType(“text/html”) 的目的是,它基本上告訴客戶端它是什么內(nèi)容類型,以便它知道如何處理它。將對(duì)象的格式化表示打印到文本輸出流。HttpServletResponse 接口的sendRedirect()方法可用于將響應(yīng)重定向到另一個(gè)資源,它可能是 servlet、jsp 或 html 文件。

輸出:

通過(guò)編譯程序,將顯示以下輸出。

當(dāng)單擊搜索按鈕時(shí),所需頁(yè)面將顯示如下。

歡迎.html

<html> 
<form action="./welcome"> 
<h2>Enter your tutorial name<input type="text"name="name/">
        <input type="submit"value="search">
   </form> 
</html>

這里創(chuàng)建了一個(gè)文本框來(lái)搜索所需的頁(yè)面,并創(chuàng)建了提交按鈕以將輸入提供給服務(wù)器。

網(wǎng)頁(yè).xml

      <servlet>
            <servlet-name>DemoSendRedirect</servlet-name>
            <servlet-class>sendredirect.SimpleSendRedirect</servlet-class>
      </servlet>   
      <servlet-mapping>
            <servlet-name>DemoSendRedirect</servlet-name>
            <url-pattern>/welcome</url-pattern>
      </servlet-mapping>
      <welcome-file-list>  
               <welcome-file>welcome.html</welcome-file>  
      </welcome-file-list>
</web-app>

正如所討論的servlet 名稱應(yīng)該相同并且URL應(yīng)該與 HTML 表單匹配。

DemoSendRedirect.java

package sendredirect;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;   
public class SimpleSendRedirect extends HttpServlet {        
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {  
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String tutorialName = request.getParameter("name");         
        response.sendRedirect("https://www.splessons.com/lesson/"+tutorialName+"+tutorial/");
            out.flush();
            out.close();
        }      
}

所述的doGet()方法被用于參數(shù)與所述報(bào)頭信息一起發(fā)送到一個(gè)URL。HttpServletResponse 接口的sendRedirect()方法可用于將響應(yīng)重定向到另一個(gè)資源,它可能是 servlet、jsp 或 html 文件。

輸出:

編譯后,將顯示以下輸出程序。

單擊搜索按鈕時(shí),將顯示所需頁(yè)面。

在doGet() 中,參數(shù)與標(biāo)頭信息一起發(fā)送,而在doPost() 中,參數(shù)在正文中發(fā)送。

doGet() 將有發(fā)送數(shù)據(jù)的限制,而 doPost() 沒(méi)有限制。

doGet() 中的參數(shù)未加密,而 doPost() 中的參數(shù)已加密。

doGet() 方法用于從服務(wù)器獲取一些信息,doPost() 用于將一些信息發(fā)布到服務(wù)器。

所述的doGet()方法被用于參數(shù)與所述報(bào)頭信息一起發(fā)送到一個(gè)URL。

所述的doPost()方法被用于龐大的信息發(fā)送到一個(gè)URL。

這里的代碼應(yīng)該從 HTML 頁(yè)面調(diào)用。

以上就是關(guān)于“Servlet重定向詳解”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Servlet教程,教程內(nèi)容由淺到深,通俗易懂,即使沒(méi)有基礎(chǔ)也很容易理解,希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲午夜片子大全精品 | 中文字幕免费视频 | 97超在线视频 | 欧美精品久久久久久久小说 | 国产精品成人免费视频99 | 欧美特欧美特级一片 | 成人三级做爰在线观看男女 | 在线播放精品 | 精品黑人一区二区三区 | 国产一级特黄特色aa毛片 | 免费观看欧美一级毛片 | 欧美精品h在线播放 | 四虎影院在线播放 | 狠狠综合久久久久尤物丿 | 亚洲日韩中文字幕 | 日本人一级大毛片 | 色域综合| a毛片免费观看完整 | 青青青青青青久久久免费观看 | 国产精品成人久久久久久久 | 久久婷婷五夜综合色频 | 亚洲视频在线一区 | 久久久久国产精品免费免费不卡 | 国产精品久久久久久吹潮 | 国产欧美日韩高清专区手机版 | 国产成人综合91精品 | 91久久免费视频 | 免费国产一区二区在免费观看 | 国产亚洲精品国看不卡 | 五月综合激情久久婷婷 | 国产福利精品在线观看 | 99re热这里只有精品视频 | 99久久免费国产香蕉麻豆 | 久久天堂在线 | 亚洲一区二区三区高清不卡 | 日本裤袜xxxx视频 | 日韩欧美精品在线视频 | 99看视频| 久久精品无遮挡一级毛片 | 久久久久久久国产精品 | www.夜夜操|