javaweb學習中的路徑問題

1. 項目結構

javaweb學習中的路徑問題

2. 客戶端路徑

1. 超鏈接

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>頁面a</title>
</head>
<body><!--   超鏈接和表單都有三種書寫路徑的方式  1,絕對地址    2,以"/"開頭的相對地址  3,不以"/"開頭的相對地址   --><!-- 1.絕對地址   --><!-- 完整的URL --><a href="http://localhost:8080/testPath/jsp/b.jsp">這是絕對地址超鏈接</a><br /><!-- 2.以"/"開頭的相對地址    --><!-- /代表了整個web項目,即:http://localhost:8080/ --><a href="/testPath/jsp/b.jsp">這是以"/"開頭的相對地址超鏈接</a><br /><!-- 3.不以"/"開頭的相對地址   --><!--   不以/開頭,則相對于當前資源的路徑  當前資源的路徑為:http://localhost:8080/testPath/jsp/  而b.jsp也在此路徑下  所以直接書寫b.jsp  --><a href="b.jsp">這是不以"/"開頭的相對地址超鏈接</a><br />
</body>
</html>

2. 表單

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>頁面b</title>
</head>
<body><!-- 所有的表單都是提交到b.jsp --><!--   表單提交路徑有三種書寫方式   1,絕對地址    2,以"/"開頭的相對地址  3,不以"/"開頭的相對地址   --><form action="http://localhost:8080/testPath/jsp/b.jsp" methoe="get">username:<input type="text" name="username" value=""> <inputtype="submit" value="提交---絕對地址    "></form><!--   以/開頭的相對地址,此時的/代表整個web項目,即:http://localhost:8080/  --><form action="/testPath/jsp/b.jsp" methoe="get">username:<input type="text" name="username" value=""> <inputtype="submit" value="提交---以/開頭的相對地址"></form><form action="b.jsp" methoe="get">username:<input type="text" name="username" value=""> <inputtype="submit" value="提交---不以/開頭的相對地址 "></form><!-- 表單提交到Servlet --><!--   表單提交到Servlet有三種書寫方式  1,絕對路徑  2,以"/"開頭的相對地址  3,不以"/"開頭的相對地址   --><!-- 1.絕對地址   --><!-- 完整的URL --><form action="http://localhost:8080/testPath/PathServlet" methoe="get">username:<input type="text" name="username" value=""> <inputtype="submit" value="表單提交到Servlet---絕對地址"></form><!-- 2.以/開頭的相對地址  --><!-- 此時的/代表整個web項目,即:http://localhost:8080/  --><form action="/testPath/PathServlet" methoe="get">username:<input type="text" name="username" value=""> <inputtype="submit" value="表單提交到Servlet---以/開頭的相對地址"></form><!-- 3.不以/開頭的相對地址    --><!--   不以/開頭的相對路徑是相對于當前資源的路徑  此時form.jsp的地址為:http://localhost:8080/testPath/jsp/form.jsp  所以當前資源路徑為:http://localhost:8080/testPath/jsp  而要提交的Servlet的路徑為Http://localhost:8080/testPath/PathServlet  所以路徑為當前路徑的上一級路徑下  即路徑為:../PathServlet  注:.代表當前路徑   ..代表當前路徑的上一級路徑  --><form action="../PathServlet" methoe="get">username:<input type="text" name="username" value=""> <inputtype="submit" value="表單提交到Servlet---不以/開頭的相對地址"></form>
</body>
</html>

3.重定向

package cn.test.path;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** @author Guozhen_Zhao* 創建時間:2018年3月17日  上午10:12:21* 備注:重定向有三種路徑書寫方式 : *      1. 絕對路徑 *      2. 以"/"開頭的相對路徑 *      3. 不以"/"開頭的相對路徑 */
@WebServlet("/RedirectServlet")
public class RedirectServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.sendRedirect("http://localhost:8080/testPath/jsp/b.jsp");/* * 2.以"/"開頭的相對路徑 *  此時,/代表整個web工程的路徑,即http://localhost:8080/ *///        response.sendRedirect("/testPath/jsp/b.jsp"); /* * 3.不以"/"開頭的相對路徑 *      此時是相對于當前資源的相對路徑 *      當前資源路徑為:http://localhost:8080/testPath/RedirectServlet *      即表示:RedirectServlet在路徑http://localhost:8080/testPath之下 *      而b.jsp在http://localhost:8080/testPath/jsp/b.jsp *      所以最終地址寫為:jsp/b.jsp *///        response.sendRedirect("jsp/b.jsp"); }protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}

服務器端路徑

請求轉發

package cn.test.path;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** @author Guozhen_Zhao* 創建時間:2018年3月17日  上午10:09:59* 備注: 服務器端的路徑不能是絕對路徑,只能是相對路徑,也分為以/開頭和不以/開頭兩種 *      1.以"/"開頭的相對路徑 *      2.不以"/"開頭的相對路徑*/
@WebServlet("/DispatcherServlet")
public class DispatcherServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {/* * 1.以"/"開頭的相對路徑 *      此時,/代表當前web項目,即:http://localhost:8080/javaee */  
//      request.getRequestDispatcher("/jsp/b.jsp").forward(request, response); /* * 2.不以"/"開頭的相對路徑 *      相對于當前資源的相對路徑 *  此時,當前資源的路徑為:http://localhost:8080/javaee/DispatcherServlet *  所以要轉發去的資源的路徑以:http://localhost:8080/javaee開頭 */  request.getRequestDispatcher("jsp/b.jsp").forward(request, response);  }protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}

轉載于:https://blog.51cto.com/13416247/2087844

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/283871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/283871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/283871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

步步為營-11-ListT泛型的簡單練習

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 集合簡單練習 {class Program{static void Main(string[] args){}private static void Test3(){//奇偶分揀,奇數在前偶數在后List<int>…

SPI 與 API的區別

背景 Java 中區分 API 和 SPI&#xff0c;通俗的講&#xff1a;API 和 SPI 都是相對的概念&#xff0c;他們的差別只在語義上&#xff0c;API 直接被應用開發人員使用&#xff0c;SPI 被框架擴展人員使用 理解 API &#xff08;Application Programming Interface&#xff09; …

JS---------正則表達式

2019獨角獸企業重金招聘Python工程師標準>>> 1.正則表達式的創建方式&#xff1a; 1.1 var reg new RegExp(pattern); 1.2 var reg /^正則規則$/ 2.正則規則&#xff1a; 2.1 [0-9] 代表數字 [A-Z] 代表大寫字母 [a-z] 代表小寫字母 [A-z] 代表字母 \w 查找單詞字…

關于緩存異常:緩存雪崩、擊穿、穿透的解決方案

關于緩存雪崩、擊穿、穿透的解決方案 前言緩存雪崩 緩存雪崩的原因解決方案緩存擊穿 解決方案緩存穿透 解決方案 布隆過濾器 布隆過濾器原理布隆過濾器如何使用在Java中使用布隆過濾器前言 關于緩存異常&#xff0c;我們常見的有三個問題&#xff1a;緩存雪崩、緩存擊穿、緩存穿…

RobotFramework 自動化測試實戰進階篇

工具 Robotframework, 采用PO設計模式 PO模型 PO模型即Page Objects&#xff0c;直譯意思就是“頁面對象”&#xff0c;通俗的講就是把一個頁面&#xff0c;或者說把一個頁面的某個區域當做一個對象&#xff0c;通過封裝這個對象可以實現調用。 PO設計的好處 代碼復用&…

Android6 0權限機制(一):介紹

本篇文章已授權微信公眾號 hongyangAndroid &#xff08;鴻洋&#xff09;獨家發布 Android6.0權限機制&#xff08;一&#xff09;&#xff1a;介紹 Android6.0權限機制&#xff08;二&#xff09;&#xff1a;封裝 Android6.0權限機制&#xff08;三&#xff09;&#xff1a;…

MAX10 ADC的一些基知識

MAX10 ADC 的一些知識 1、 MAX 10 內部集成的12bit SAR ADC的特點為&#xff1a; a、 采樣速率高達1Mhz. b、 模擬通道多達18個&#xff0c;單個ADC多達17個&#xff0c;雙ADC器件中有16個雙功能ADC通道&#xff0c;2個專用的ADC。 c、 提供單端測…

Blazor University (42)JavaScript 互操作 —— 生命周期和內存泄漏

原文鏈接&#xff1a;https://blazor-university.com/javascript-interop/calling-dotnet-from-javascript/lifetimes-and-memory-leaks/生命周期和內存泄漏源代碼[1]如果我們運行我們在從 Javascript 調用 .NET 中創建的應用程序并檢查瀏覽器控制臺窗口&#xff0c;我們會看到…

深入淺出聊布隆過濾器(Bloom Filter)

之前在網上看到過這么一段話&#x1f447; Data structures are nothing different. They are like the bookshelves of your application where you can organize your data. Different data structures will give you different facility and benefits. To properly use the …

第五周作業

本周作業內容&#xff1a;顯示當前系統上root、fedora或user1用戶的默認shell&#xff1b;#egrep "^(root|user1|fedora)" /etc/passwd|cut -d: -f72、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行&#xff0c;形如&#xff1a;hello()&#xff…

我為什么卸載了今日頭條

曾經的自媒體人自述。 兩三年前自媒體熱曾席卷中國互聯網&#xff0c;當時短視頻還不是很火&#xff0c;一般的自媒體人都是以撰寫文章為主&#xff0c;各種微信公眾號層出不窮&#xff0c;10W的俗稱 爆文&#xff08;豹紋&#xff09;。后來以今日頭條為領頭的短視頻自媒體出現…

appium執行iOS測試腳本并發問題

appium1.4.XiOS9.Xxcode7.X: appium1.4.xiOS9.xxcode7.x&#xff0c;這一整套的配置做移動端自動化測試是測試人員常用的測試框架。關于&#xff0c;這一套測試框架的并發問題&#xff1a;基于mac端&#xff0c;啟動多臺appium服務器會導致appium的運行出錯。這是因為多個appiu…

WinForm(五)控件和它的成員

窗體無疑是WinForm的主角&#xff0c;每個窗體都是用一個class來承載&#xff0c;那么窗體的控件&#xff0c;就是類中的私有字段了。每個窗體有三個文件&#xff0c;兩個.cs文件&#xff0c;是一個分部類&#xff0c;Designer.cs是自動生成的C#代碼&#xff0c;一般是拖拽控件…

Atitit.異常處理 嵌套??冗長的解決方案

Atitit.異常處理 嵌套 冗長的解決方案 1. 異常處理的需要改進的地方1 2. 異常設計的初衷是, 在程序中出現錯誤時, 由程序自己處理錯誤, 盡量不要以exit(0)這種粗暴的方式中止程序. 1 3. 正常流程和異常流程的分離。2 4. “是藥三分毒”&#xff0c; 任何事物有缺點&#xff0c…

一文詳解|增長那些事兒

目錄 增長的背景 1.1 增長的定義 1.2 如何判斷事物是否在增長 1.3 如何判斷事物能否持續增長 如何進行增長 2.1 尋找增長機會點&#xff08;人的能力&#xff09; 2.1.1 發散與收劍找機會點 2.1.2 實驗分析驗證 2.1.3 增長洞察提取策略 2.1.4 如何找到大機會 2.2 設…

在MVC項目中使用Ninject

項目結構圖&#xff1a; App_start文件夾中的文件是VS自己創建的&#xff0c;其中NinjectWebCommon類在創建之初并不存在。后面會再次提到&#xff01; 添加一個Home控制器。代碼如下&#xff1a; using EssentialTools.Models; using Ninject; using System; using System.Col…

linux IP、端口連通性測試

ssh -v -p 50001 root10.210.200.82轉載于:https://www.cnblogs.com/kuiyeit/p/6723508.html

緊急通知:360 網站衛士前端公共庫已停止服務

所有使用了360前端公共庫的開發者和站長們&#xff0c;請及時更換你的前端庫的鏈接&#xff08;主要是前端庫和谷歌 fonts&#xff09;&#xff0c;否則網站打開速度會極慢&#xff0c;甚至會在 Chrome 瀏覽器中崩潰。 360前端公共庫曾經提供的服務有&#xff1a; 前端公共庫&a…

一文學會Autofac的基礎操作:幾種實現注冊方式、3種注入方式、生命周期、AOP以及過濾器實現依賴注入...

前言&#xff1a;直接開干。使用Autofac進行服務注冊實踐&#xff1a;新建三個項目&#xff0c;分別是webapi項目 Wesky.Core.Autofac以及兩個類庫項目 Wesky.Core.Interface和Wesky.Core.Service。在Webapi項目下&#xff0c;引用Autofac的三個包&#xff1a;Autofac、Autofac…

解析互聯網廣告術語 CPM、CPC、CPA、CPS、CPL、CPR 是什么意思

1. CPM&#xff08;Cost per mille&#xff09;&#xff0c;每千次展現收費 這是一種最為常見的廣告模式&#xff0c;也是很多網站流量變現的一種途徑&#xff0c;這種廣告不管計算點擊&#xff0c;或者什么注冊下載之類的轉化&#xff0c;只要這個廣告在網站上被正常的展現給…