1. 程式人生 > >在重定向,轉發中關於路徑問題的總結

在重定向,轉發中關於路徑問題的總結

①絕對路徑與相對路徑的區分:

絕對路徑為前面加上了“/”的路徑,而相對路徑則前面沒有加上“/”。

②轉發與重定向中的具體討論: 

        轉發:轉發當中使用帶“/”的絕對路徑時,表示的是當前web應用的根目錄再加上傳入的目錄,因為轉發是在伺服器內部進行的,寫絕對路徑/開頭指的是當前的Web應用程式

   eg: 假設當前的web應用目錄為http://localhost:8080/web-app  執行req.getRequestDispatcher("/login.jsp")  則這個時候轉到的目錄為 http://localhost:8080/web-app/login.jsp

                         而當轉發中使用的是不帶“/”的相對路徑的時候,

表示的是當前的路徑再加上傳入的路徑

  eg:假如當前的路徑為http://localhost:8080/web-app/abc  執行req.getRequestDispatcher("login.jsp") 則這個時候轉到的目錄為  http://localhost:8080/web-app/abc/login.jsp

        重定向:重定向中使用帶“/”的絕對路徑時,表示的是當前伺服器的根目錄再加上傳入的目錄!

 eg: 假設當前的web應用目錄為http://localhost:8080/web-app 執行   res.sendRedirect("/login.jsp") 則這個時候轉到的目錄為   http://localhost:8080/login.jsp 

                             而當轉發中使用的是不帶“/”的相對路徑的時候,表示的是當前的路徑再加上傳入的路徑(和轉發的時候一樣)

 eg:假如當前的路徑為http://localhost:8080/web-app/abc 執行req.getRequestDispatcher("login.jsp") 則這個時候轉到的目錄為  http://localhost:8080/web-app/abc/login.jsp

③絕對路徑中的“/”代表的不同情況下的不同意思的再總結

              > “/”代表站點路徑 即  http://localhost:8080的情況

                        1.超連結的時候 
                    2.action表單提交的時候                     3.請求重定向的時候

              >“/”代表的時web應用的根目錄 即http://localhost:8080/Context的情況(可利用request.getContext( ) ,                或者 application.getContext( ) 來獲取)

                        1.請求轉發的時候

                   2.在  web.xml 檔案中進行配置的時候,例如URL的配置的時候

相關推薦

定向轉發關於路徑問題的總結

①絕對路徑與相對路徑的區分: 絕對路徑為前面加上了“/”的路徑,而相對路徑則前面沒有加上“/”。 ②轉發與重定向中的具體討論:          轉發:轉發當中使用帶“/”的絕對路徑時,表示的是當前web應用的根目錄再加上傳入的目錄,因為轉發是在伺服器內部進行的,寫絕對路徑

Servlet--超鏈接表單提交定向轉發4種情況的路徑

str action local white 一句話 ont java ons isp 實際編碼中我們常常寫路徑,寫路徑既能夠寫相對路徑,也能夠寫絕對路徑。我2年曾經我就養成了習慣。僅僅要是寫路徑我從來都是寫絕對路徑,由於萬一將來我們的項目的文件夾發生變化。原來要是

Servlet--超連結表單提交定向轉發4種情況的路徑

實際編碼中我們經常寫路徑,寫路徑既可以寫相對路徑,也可以寫絕對路徑。我2年以前我就養成了習慣,只要是寫路徑我從來都是寫絕對路徑,因為萬一將來我們的專案的目錄發生變化,原來要是寫相對路徑的話就會有路徑依賴關係,改的地方太多了。而且相對路徑在某些情況下還有點特殊,有的是相對於原

【Java】Filter過濾器在chain.doFilter(request,response)後若有定向轉發語句

在chain.doFilter(request,response)後若有重定向或轉發語句,執行順序是: 1.所要訪問的資源不是轉發的目標資源: chain.doFilter(request,

定向轉發絕對路徑

/** 1. 請求和響應 * 請求:客戶端向伺服器 * 型別:HttpServletRequest

Struts2配置使用參數接收轉發定向多方法ognl使用與值傳遞struts標簽使用

isp -name users .org 填充 導航 建模 尋址 XML 本文檔包括了 Struts2配置使用參數接收,轉發與重定向,多方法,ognl使用與值傳遞,struts標簽使用 (1)首先加入jar包(最小jar組合) (1) 在web.xml中註冊

Servlet的request對象、定向轉發的差別(6)

current https 命令 相對 eba 進入 file before redirect 1.這裏所說的request對象指的是HttpServletRequest對象,它代表client的請求,當client通過HTTP協議訪問server時。HTTP請求頭

關於servlet定向轉發的地址問題

eas edi href nbsp res txt jsp eal 地址   先寫一個正斜杠"/",再判斷是服務器使用該地址還是網站使用該地址。   訪問網絡資源用/,訪問硬盤資源用\。   例如: 轉發: request.getRequestDispatc

(轉)linux sudo 定向實現只有系統管理員才有權限操作的文件寫入信息

shel echo 命令 文件 sudo 命令 方式 符號 iss 字串 chown 眾所周知,使用 echo 並配合命令重定向是實現向文件中寫入信息的快捷方式。 本文介紹如何將 echo 命令與 sudo 命令配合使用,實現向那些只有系統管理員才有權限操作的文件中寫入信

shell輸入輸出定向>、>>、<、<<、>/dev/null、2>&1、<<end、<<EOF等

轉載自:https://www.jb51.net/article/106373.htm https://blog.csdn.net/qq_31073871/article/details/80810306 其他參考:www.runoob.com/linux/linux-shell-io-re

shell輸入輸出定向>、>>、<、<<、>/dev/null、2>&1、<<end、<<EOF等

實際上,輸入輸出重定向中的3個標準檔案描述符,輸入0、正常輸出1、錯誤輸出2,這三個值經常被省略。 舉例: ls > shell_out 等價於: ls 1> shell_out 前言 相信大家經常能在shell指令碼中發現>/dev/nu

Java基礎之Java Web 什麼是定向轉發?如何選擇使用定向還是轉發

1.重定向和轉發的區別是什麼? 重定向是兩次請求,轉發是一次請求,因此轉發的速度要快於重定向。 重定向之後位址列上的地址會發生變化,變化成第二次請求的地址,轉發之後位址列上的地址不會變化,還是第一次請求的地址。 重點:重定向和請求轉發之後的程式碼都會執行,直到方法結束或者遇到

jsp/servlet定向轉發的區別

轉自:http://cantellow.javaeye.com/blog/372941 關於兩者的區別我就不用多說了,一搜一大堆,大概就是: 重定向是客戶端跳轉,轉發是伺服器端跳轉 在servlet中呼叫轉發、重定向的語句如下: request.getRequestDispatcher("new.jsp"

定向轉發引出的URL路徑問題

//轉發 //this.getServletContext().getRequestDispatcher("/index2.jsp").forward(req, resp); //重定向 //resp.

定向C庫stdio檔案的printf()函式檔案流-->串列埠USART1

1、printf()函式: 我們以前在VC6.0中程式設計時,包含include<stdio.h>標頭檔案之後,呼叫printf()函式後可以向控制檯傳輸(列印)一連串字元等。 若要在STM32上也想用printf()函式向指定的裝置上傳輸(列印)一串資料的話,

servlet定向轉發的區別

 重定向與轉發的區別: 1.重定向訪問伺服器兩次,轉發只訪問伺服器一次。 2.重定向可以看見目標頁面的URL,轉發只能看見第一次訪問的頁面URL,以後的工作都是有伺服器來做的。 3.重定向跳轉後必須加上return,要不然頁面雖然跳轉了,但是還會執行跳轉後面的語句,轉發

JSP內建物件request,response定向轉發

什麼是JSP內建物件? JSP內建物件時Web容器建立的一組物件。 JSP內建物件的名稱是JSP的保留字。 JSP內建物件時可以直接在JSP頁面使用的物件,無需使用new獲取例項。 九大內建物件: 特點: 不需要新建例項(new)  是JSP當中的關鍵字

shell指令碼的數學運算定向alias

1. 整數運算:#!/bin/bashnum1=4num2=5let result1=num1+num2echo $result1let num1++let num2--result2=$[ num1 + num2 ]result3=$[ $num1 + 10 ]echo $

Http定向轉發

    在專案開發中,經常會用到轉發和重定向,它們雖然都是轉向,但是二者卻有著本質的區別。而且,該開始接觸的時候,也不清楚到底什麼時候用轉發,什麼時候用重定向。那到底它們有什麼區別呢?又該怎麼用呢?下面就一起看看吧。 表面區別 轉發     轉發是用RequestDi

python 檔案輸出與定向 輸出的內容會在記憶體暫存不會立刻輸出到檔案

1、使用write寫磁碟檔案 python 中使用write,將資料寫入到檔案中,但是並不是write之後,就立刻寫入到檔案(比如a.txt)中,python的write會先將資料放在記憶體的緩衝區中,等到積累了一定的量,再一起寫入到磁碟檔案中。這樣可以提高效能,減少訪問磁