重定向是一個非常廣泛的概念,即通過各種方法將各種網(wǎng)絡(luò)請求重定向到其他位置,如網(wǎng)頁重定向、域名重定向、數(shù)據(jù)包重定向等。

image-20220819164932004如上圖,A為客戶端,A向服務(wù)端B請求一個資源,B返回告訴A" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 建站知識 > JavaWeb實(shí)戰(zhàn)之Response重定向運(yùn)用以及原理詳解

JavaWeb實(shí)戰(zhàn)之Response重定向運(yùn)用以及原理詳解

時間:2023-02-09 06:27:01 | 來源:建站知識

時間:2023-02-09 06:27:01 來源:建站知識

一.實(shí)現(xiàn)重定向

重定向是一個非常廣泛的概念,即通過各種方法將各種網(wǎng)絡(luò)請求重定向到其他位置,如網(wǎng)頁重定向、域名重定向、數(shù)據(jù)包重定向等。

image-20220819164932004
如上圖,A為客戶端,A向服務(wù)端B請求一個資源,B返回告訴A去訪問C,然后A去請求C,從而獲取資源的過程為重定向。

常見的使用場景:登錄操作。

1.1 重定向?qū)崙?zhàn)

1。我們先看一下重定向的方法函數(shù),sendRedirect。

1void sendRedirect(String var1) throws IOException;2.新建一個類,類名為:Redirectservlet。

3.繼承HttpServlet類,重寫doGet。

4.寫重定向,resp.sendRedirect,指向img的url。

1protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {2 resp.sendRedirect("/Response/img");3}5.注冊url,添加映射:

1 <servlet>2 <servlet-name>Redirect</servlet-name>3 <servlet-class>com.gowork.servlet.Redirectservlet</servlet-class>4 </servlet>5 <servlet-mapping>6 <servlet-name>Redirect</servlet-name>7 <url-pattern>/red</url-pattern>8 </servlet-mapping>6.啟動項(xiàng)目,訪問localhost:8080/Response/red。

7.結(jié)果如下:

訪問red路徑,瞬間會重定向到img。

image-20220819191911638
我們打開f12,查看網(wǎng)絡(luò),可以看到red的狀態(tài)代碼為302,為重定向。

image-20220819191828229

1.2 筆試題目

請你談?wù)勚囟ㄏ蚺c轉(zhuǎn)發(fā)的區(qū)別?

相同點(diǎn):

不同點(diǎn):

如下圖的區(qū)別:

image-20220819192247521

二 重定向?qū)嵗?/b>

1.我們新建立一個類,類名為:requesttext,繼續(xù)基礎(chǔ)繼承HttpServlet類,重寫doGet。

1public class requesttext extends HttpServlet {2 @Override3 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {4 System.out.println("現(xiàn)在已經(jīng)進(jìn)入這個請求了!");5 }6}如果我們進(jìn)入過這個重定向頁面就會輸出:現(xiàn)在已經(jīng)進(jìn)入這個請求了。

2.注冊url,映射url:

1<servlet>2 <servlet-name>newRedirect</servlet-name>3 <servlet-class>com.gowork.servlet.requesttext</servlet-class>4</servlet>5<servlet-mapping>6 <servlet-name>newRedirect</servlet-name>7 <url-pattern>/loign</url-pattern>8</servlet-mapping>如果我們訪問/rednew,就會向后端的com.gowork.servlet.requesttext發(fā)出請求。

3.到項(xiàng)目的主頁面:index.jsp。

4.這提交的路徑,需要尋找到項(xiàng)目的路徑。

我們搜索jsp maven,進(jìn)入maven官網(wǎng),找到j(luò)sp

1<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->2<dependency>3 <groupId>javax.servlet.jsp</groupId>4 <artifactId>jsp-api</artifactId>5 <version>2.2.1-b03</version>6 <scope>provided</scope>7</dependency>我們進(jìn)入pom.xml,導(dǎo)入上面的jsp。

導(dǎo)入成功,我們可以明顯的看到:

image-20220819202124600
5.我們啟動項(xiàng)目,訪問主頁,得到如下:

image-20220819203840088
因?yàn)榭蛻舳司幋a問題,暫時顯示了亂碼,不過這不影響我們的查看,第一個是用戶名,下面的是密碼。我們在倆列里填完之后,我們點(diǎn)擊提交:

image-20220819203202018
因?yàn)橹形奶L了,我測試寫了1234和143314,提交之后,url就會顯示出來,因?yàn)槭莋et傳輸。

6.處理請求。我們在B里處理拿到需要的數(shù)據(jù),然后再重定向。

1String name =req.getParameter("username");2String pass =req.getParameter("password");34System.out.println(name+":"+pass);56resp.sendRedirect("");重定向要注意路徑問題,否則容易404問題。

image-20220819204421599
到了這里對應(yīng)重定向需求就已經(jīng)完成了。

關(guān)鍵詞:原理,運(yùn)用,實(shí)戰(zhàn)

74
73
25
news
  • 網(wǎng)站
  • 營銷
  • 設(shè)計(jì)
  • 運(yùn)營
  • 優(yōu)化
  • 效率
  • 專注
  • 電商
  • 方案
  • 推廣
為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉