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

專注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教程,教程內容由淺到深,通俗易懂,即使沒有基礎也很容易理解,希望對大家能夠有所幫助。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产黄色福利 | 免费鲁丝片一级在线观看 | 18性夜影院午夜寂寞影院免费 | 人人人人人人 | 女全身裸无遮挡免费毛片 | 国产成人国产在线观看入口 | 日本黄在线 | 特级毛片aaaaaa蜜桃 | 亚洲伊人久久大香线蕉苏妲己 | 日批视频网址免费观看 | 成人一a毛片免费视频 | 欧美在线看欧美视频免费网站 | 国产三级精品三级在专区中文 | 日韩三级黄色 | 在线观看国产区 | 色狠狠狠色噜噜噜综合网 | 一区二区三区波多野结衣 | 国产手机看片 | 国产在播放一区 | 国产午夜久久精品 | 国产一区精品视频 | 国产色婷婷亚洲 | 99久久免费国产精精品 | 婷婷欧美| 美腿丝袜在线 | 在线视频日韩 | 在线另类 | 亚洲好色网 | 美女被cao免费看在线看网站 | 黄色在线不卡 | 国产一区二区三区免费观看 | 美国fx性欧美xxxxhd | 天天成人| 美女一级大黄录像一片 | 啪啪一级| 免费看黄色片网站 | 色视频免费网站 | 亚洲欧美在线不卡 | 在线免费公开视频 | 老司机深夜影院入口aaaa | 免费韩国伦理片 |