web应用中的引用路径集汇

2024-03-23 05:38
文章标签 路径 引用 应用 web 集汇

本文主要是介绍web应用中的引用路径集汇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

test2.js  与index.jsp 放在同一文件夹下,比如: web应用/home/下面.


要把test2.js 引入到 index.jsp中,  针对三种情况,分析如下:

 

----------------------------------------------------------

 

第一种情况
一般在学习时, 一个tomcat上都跑多个工程, 用工程名来区分
因为我的的URL是 :http://localhost/工程名 /home/index.jsp
多了一个工程名,所以要加 <%=request.getContextPath() %>
如下:
<script src="<%=request.getContextPath() %> /home/test.js"></script>

 

---------------------------------------------------------------------------------

第二,  访问JSP文件时, 用相对路径引入JS,CSS文件是OK的

 

真实项目中,  一个tomcat上要是也跑了多个工程, 并用IP来区分
url 是这样的:  http://localhost/home/index.jsp     注意这里,是直接访问JSP文件,不是servlet,不是struts .
test2.js  与index.jsp 放在同一文件夹下
下面用相对路径来引入 JS文件 是OK 的:
<script src=test2.js></script>

 

index.jsp可以找到test2.js文件

 

 

------------------------------------------------------------------------------


第三种情况:

 

在第二情况的基础上, 我们访问的是 servlet 或是struts的action  , 再转发到 index.jsp


url 是:  http://localhost/***.do  这里不是访问JSP文件了

 

下面是OK 的.
<script src=/home/test2.js></script>

test2.js  前面一定要有/home/

实际项目中, 访问 servlet或是struts的action最多, 所以这里要注意 了.

 

 

下面是错误的, index.jsp找不到test2.js文件

<script src=test2.js></script>

 本来在 "第二种情况"中, 上面是OK的, 但现在情况有点不同了,不是访问JSP文件了,访问的是 servlet或是struts的action了.

 

 

-------------------------------------------------------------------------------

 

        对上面现象的分析: (源自网络)


一. 我们平常 说的 "相对路径 ": 适用于"第二种情况"

 

有个html文件:a.html,其中有<link href="one.css" rel="stylesheet" type="text/css">,其中href属性表示引用的css文件的路径。

one.css:表示one.css和a.hmtl处于同一个目录

user/one.css:表示one.css处于a.html所在目录的子目录user中。

../one.css:表示one.css位于a.hmtl上一级目录下,

../../one.css:表示one.css位于a.hmtl上一级目录的上一级目录下,

./:表示和a.hmtl同一目录

我们称上述相对路径为html相对路径

 

 

 

 

二. 服务器端的相对路径  ,  适用 于"第三种情况"

 

服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候在jsp和servlet中的相对地址应该是相对于你的web应用,即相对于http://192.168.0.1 /webapp/的。

 

------------------------------------------------------------

 

 

我写了一个方法来计算 *.js *.css  文件服务器端的相对地址的方法, 下面是核心部分

Java代码 复制代码
  1. //获得/jive/temp/index.jsp   
  2. final String pathname = ((HttpServletRequest) pageContext.getRequest()).getRequestURI();   
  3. //去处index.jsp   
  4. final File tempfile = new File(pathname).getParentFile();   
  5. //获得/jive/temp/   
  6. final String realbase = pathname.substring(0, tempfile.toString().length() + 1);   
  7.   
  8. final StringBuffer sbf = new StringBuffer();   
  9. //<script type="text/javascript" src="/inc/ad/order/order.js"></script>   
  10. sbf.append("<script type=/"text/javascript/" src=/"");   
  11. sbf.append(realbase);   
  12. sbf.append(fileName);   
  13. sbf.append("/"></script>");   
  14. write(sbf.toString());  
		//获得/jive/temp/index.jsp
final String pathname = ((HttpServletRequest) pageContext.getRequest()).getRequestURI();
//去处index.jsp
final File tempfile = new File(pathname).getParentFile();
//获得/jive/temp/
final String realbase = pathname.substring(0, tempfile.toString().length() + 1);
final StringBuffer sbf = new StringBuffer();
//<script type="text/javascript" src="/inc/ad/order/order.js"></script>
sbf.append("<script type=/"text/javascript/" src=/"");
sbf.append(realbase);
sbf.append(fileName);
sbf.append("/"></script>");
write(sbf.toString());

 

这篇关于web应用中的引用路径集汇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837310

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或