日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

当前路径_[JSP] 07 JSP 路径问题

發(fā)布時間:2023/11/27 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 当前路径_[JSP] 07 JSP 路径问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先先明確一下下列URL的

假設一個URL是這樣的losthost:8080/myservlet/path

服務器根路徑:losthost:8080/

項目根路徑:losthost:8080/myservlet/

明確了服務器根路徑和項目根路徑之后,我們就可以開始學習后面的知識了


servlet路徑問題

請求轉(zhuǎn)發(fā)和重定向的相對路徑寫法總結:

Servlet重定向jsp

resp.sendRedirect("jsp的相對路徑/servlet的別名");//重定向jsp頁面

Servlet請求轉(zhuǎn)發(fā)jsp

req.getRequestDispatcher("jsp的相對路徑/servlet的別名")
.forward(req, resp);//請求轉(zhuǎn)發(fā)到jsp頁面

服務器根目錄

服務器的webapps目錄路徑 localhost:8080/

項目根目錄

服務器的webapps目錄下項目路徑 localhost:8080/jsp/

注意:

以上兩種寫法其實都是相對路徑,相對路徑指的是從當前請求路徑查找jsp所經(jīng)過的路徑。

請求轉(zhuǎn)發(fā)和重定向的絕對路徑寫法總結:

重定向:

在重定向中的路徑中第一個/表示服務器根目錄。

示例:

resp.sendRedirect("/虛擬項目名/資源路徑");//重定向jsp頁面

請求轉(zhuǎn)發(fā):

在請求轉(zhuǎn)發(fā)中第一個/表示項目根目錄

示例:

tDispatcher("/資源路徑").forward(req, resp);//請求轉(zhuǎn)發(fā)到jsp頁面

jsp路徑問題

精華總結:

  1. 在jsp頁面中進行資源之間的跳轉(zhuǎn)時,使用絕對路徑 。
  2. 在jsp中路徑中的第一個/表示服務器根目錄。
  3. 在Myeclipse中創(chuàng)建的jsp頁面會自動生成路徑處理代碼basePath而basePath的值為當前項目 根目錄。
  4. request.getSchema()返回的是當前連接使用的協(xié)議,一般應用返回的是http、SSL返回的是https;
  5. request.getServerName()返回當前頁面所在的服務器的名字;
  6. request.getContextPath()返回當前頁面所在的應用的名字。

問題:

在jsp頁面中進行資源之間的跳轉(zhuǎn)時,如果書寫的是相對路徑這樣會造成如果當前文件的路徑發(fā)生變更,從當前路徑查找資源的相對路徑都要重新進行書寫。

解決:

將相對路徑編程絕對路徑

使用:

在jsp中路徑中的第一個/表示服務器根目錄。

示例:

<a href="/虛擬項目名/資源路徑">訪問關鍵字</a>

注意:

Myeclipse

創(chuàng)建的jsp頁面會自動生成路徑處理代碼basePath

而basePath的值為當前項目根目錄,并且在head標簽中使用了

<base href="<%=basePath%>">

相當于將當前頁面的資源全部默認定位為從項目根目錄開始查找,我們就不需要寫第一個/了

IDEA

需要手動輸入或者更改模板

頁面報錯處理

注意:

basePath方式和添加/方法只能二選一。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
System.out.println(basePath);
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'path.jsp' starting page</title><!-- 問題:在jsp頁面中進行資源之間的跳轉(zhuǎn)時,如果書寫的是相對路徑這樣會造成如果當前文件的路徑發(fā)生變更,從當前路徑查找資源的相對路徑都要重新進行書寫。解決:將相對路徑編程絕對路徑使用:在jsp中路徑中的第一個/表示服務器根目錄。示例:<a href="/虛擬項目名/資源路徑">訪問關鍵字</a>注意:在Myeclipse中創(chuàng)建的jsp頁面會自動生成路徑處理代碼basePath而basePath的值為當前項目根目錄,并且在head標簽中使用了<base href="<%=basePath%>">相當于將當前頁面的資源全部默認定位為從項目根目錄開始查找,我們就不需要寫第一個/了注意:basePath方式和添加/方法只能二選一。--></head><body>我是path.jsp<a href="a/a.jsp">a.jsp</a></body>
</html>
Balmy:[Servlet] 17 Servlet 路徑問題?zhuanlan.zhihu.com

總結

以上是生活随笔為你收集整理的当前路径_[JSP] 07 JSP 路径问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉(zhuǎn)載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:当前路径_[JSP] 07 JSP 路径问题