form之action的絕對路徑與相對路徑


1、當你的form要提交到你自己的站點之外的URL的時候,就采取絕對路徑

<form action="http://www.xxx.yyy:zzzz/mmm/nn/kkk.jsp">

2、如果是提交到自己站點內的頁面,務必使用相對路徑(為什么?見http://www.cnblogs.com/qrlozte/p/3515836.html),以tomcat為例:

比如說你的站點文件夾是D:\MySite\WebContent,也就是說,WEB-INF文件夾的路徑是D:\MySite\WebContent\WEB-INF

你在server.xml中配置了

 <Context path="/mysite" docBase="D:\MySite\WebContent"/>

那么Listing1.1的含義就是提交到D:\MySite\WebContent\somepage.jsp,這里/mysite就等價於D:\MySite\WebContent,實際上,Listing1.1這種形式可以引用你的站點內的任何頁面,因此,我個人更喜歡稱之為“站內絕對路徑

Listing1.1

<form action="/mysite/somepage.jsp">

下面來看,比如說你當前瀏覽器的地址欄是http://localhost:8080/mysite/xxx/login.jsp

而你知道在/mysite/xxx/yyy/checker.jsp中有用戶驗證的代碼,那么你在login.jsp中的form應該如何提交呢?見Listing1.2,其含義就是,以我當前的目錄為基准,進入子目錄yyy,找到yyy里面的頁面checker.jsp並提交form。這里使用的就是(站內)相對路徑了。

Listing1.2

<form action="yyy/checker.jsp">

假如說,checker.jsp也在xxx目錄中呢?顯然也是很簡單了,見Listing1.3

Listing1.3

<form action="checker.jsp">

又假如,checker.jsp在/mysite/zzz這個目錄中呢?我們需要返回上一級目錄,再進入zzz目錄,見Listing1.4

Listing1.4

<form action="../zzz/checker.jsp">

其實,由於我們已經了解了如何使用站內絕對路徑,顯然,Listing1.4這種情況也可以通過站內絕對路徑來解決,見Listing1.5

Listing1.5

<form action="/mysite/zzz/checker.jsp">

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM