黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Servlet重定向詳解

Servlet重定向詳解

更新時間:2022-01-04 10:34:25 來源:動力節點 瀏覽1630次

1.描述

Servlet Redirect, HttpServletResponse是一個由SendRedirect()組成的接口,該方法的功能是將響應重定向到其他頁面,例如JSP,HTML。它在瀏覽器端工作,因為它使用 URL 欄并且它總是發送一個新請求。它將在服務器內部和外部使用。以下是聲明SendRedirect()的語法。

response.sendRedirect("URL")

2.概念

Servlet Redirect,下圖演示了web應用中的Servlet Redirect方法

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

瀏覽器窗口向 servlet1 程序發出初始請求。

servlet1 程序的所有語句都執行,包括res.sendRedirect方法。

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

瀏覽器窗口使用來自隱式響應代碼的 URL 向 servlet2 程序生成一個隱式請求,servlet2 程序的所有語句都會執行。

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

向前() 發送重定向()
執行 servlet 鏈接的 forward() 模式 執行 sendRedirect() 通信模式
servlet 程序直接與目標 Web 資源程序通信。 servlet 程序通過與瀏覽器窗口的網絡往返來與目標 servlet 程序通信
servlet 程序和目標 Web 資源程序使用相同的請求和響應對象,因此請求在目標 Web 資源程序中是可見和可訪問的。 servlet 程序和目標 Web 資源程序不會使用相同的請求和響應對象。所以請求數據在目標程序中是不可見和不可訪問的。然后sendRedirect 發送新請求。
在轉發請求期間 URL 顯示在瀏覽器窗口中并且不會更改。 在 sendRedirect 操作期間,瀏覽器窗口中的 URL 將被更改。

3.例子

索引.html

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

這里剛剛創建了“點擊這里查看 splessons”的提交按鈕,給定的 URL 是“./welcome”,確保這個 URL 應該與web.xml文件 URL匹配。

網頁.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在兩個servlet和servlet-mapping中都應該相同。

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”) 的目的是,它基本上告訴客戶端它是什么內容類型,以便它知道如何處理它。將對象的格式化表示打印到文本輸出流。HttpServletResponse 接口的sendRedirect()方法可用于將響應重定向到另一個資源,它可能是 servlet、jsp 或 html 文件。

輸出:

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

當單擊搜索按鈕時,所需頁面將顯示如下。

歡迎.html

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

這里創建了一個文本框來搜索所需的頁面,并創建了提交按鈕以將輸入提供給服務器。

網頁.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 名稱應該相同并且URL應該與 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()方法被用于參數與所述報頭信息一起發送到一個URL。HttpServletResponse 接口的sendRedirect()方法可用于將響應重定向到另一個資源,它可能是 servlet、jsp 或 html 文件。

輸出:

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

單擊搜索按鈕時,將顯示所需頁面。

在doGet() 中,參數與標頭信息一起發送,而在doPost() 中,參數在正文中發送。

doGet() 將有發送數據的限制,而 doPost() 沒有限制。

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

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

所述的doGet()方法被用于參數與所述報頭信息一起發送到一個URL。

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

這里的代碼應該從 HTML 頁面調用。

以上就是關于“Servlet重定向詳解”的介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Servlet教程,教程內容由淺到深,通俗易懂,即使沒有基礎也很容易理解,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 毛片免费视频网站 | 制服丝袜中文字幕第一页 | 成人免费男女视频网站慢动作 | 国产午夜一区二区在线观看 | 中文字幕精品视频在线观看 | 欧美一区二区三区四区视频 | 特级毛片ww特级毛片w免费版 | 午夜影放免费观看 | 久久亚洲人成网站 | 亚洲一区视频在线播放 | 韩国伦理片免费在线观看 | 成人窝窝午夜看片 | 色聚网久久综合 | 日本黄a三级三级三级 | 日韩欧美一区二区三区在线 | 综合网伊人 | 久久精品国产日本波多麻结衣 | 美国一级黄色毛片 | 欧美性视频网站 | 怡红院免费全部视频在线视频 | 欧美精品一区二区三区视频 | 18免费网站 | 看一级毛片免费观看视频 | 国产精品成人在线播放 | 日韩手机在线观看 | 六月婷婷综合 | 午夜影院伦理 | 国产成人免费a在线资源 | 色网站免费 | 亚洲色图图片 | 性欧洲精品videos' | 欧美一级v片 | 久艹在线观看 | www.狠狠插 | 日韩伦理片在线 | 黄色免费网站视频 | 夜夜精品视频一区二区 | 亚洲天堂久久精品成人 | 最近最新中文字幕免费高清1 | 国产一级特黄aa大片免费 | 成年在线观看视频免费看 |