- 浏览: 114412 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (83)
- 问题解决 (4)
- Oracle (21)
- css (1)
- jsp页面 EL表达式 (0)
- JSP (6)
- 网络必备知识 (1)
- Tomcat (3)
- html (10)
- JDK (1)
- Myeclipse (4)
- 术语 (1)
- ibatis (2)
- struts2 (1)
- /i (1)
- /g (1)
- /ig (1)
- /gi (1)
- /m的区别和含义 (1)
- Oracle 数据字段 (1)
- 行链接(Row chaining) 与行迁移(Row Migration) (1)
- oracle中substr函数的用法 (1)
- 各个数据库的端口 (1)
- OracleOraDB10g_home1TNSListener 无法启动 错误1067 (1)
- oracle服务说明 (0)
- [解决]ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 (0)
- ORA-28000: The Account is locked. 问题的解决 (0)
- pl/sql (1)
- JS (3)
- jqgrid (0)
- Jquery (3)
- 常识 (1)
- powerdesigner (4)
- javascript (6)
- java (3)
- 问题 (1)
- xml (1)
- sql (1)
- Myeclipse\ (1)
最新评论
一般情况下最好用绝对路径 <%=basePath%>/js/jquery.js
其中basePath是下面的值
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
为什么要这么做?因为从静态的jsp路径来看它和js的路径相对关系是../js/,但是往往很多时候我们不是直接访问jsp页面的,是通过其他的jsp页面或者servlet,或者struts的action通过forward的方式转发过来访问的,这时候请求的当前路径就不是该jsp的路径,而是转发过来之前那个jsp,servlet或action的路径,所以和js的相对路径关系就可能不再是../js/了,而在实际使用中,访问同一个jsp可能由很多不同的来源,那么它的相对路径关系可能随时都可能改变,这时候jsp页面里写死的相对路径就无法访问到对应的资源了。所以要使用绝对路径访问。
例如:
假如我们要访问这个页面,http://localhost:8080/web/jsp/abc.jsp
abc.jsp的相对路径是http://localhost:8080/web/jsp/,abc.jsp里引用了../js/jquery.js,这时候直接访问abc.jsp是没有问题的。
但如果由以下三个请求转发到abc.jsp来访问
1. http://localhost:8080/web/business/test/test.jsp
相对路径是http://localhost:8080/web/business/test/,访问js需要使用../../js/jquery.js
2. http://localhost:8080/web/struts/action/test.action
相对路径是http://localhost:8080/web/struts/test/,(?)访问js需要使用../../js/jquery.js
相对路径是http://localhost:8080/web/struts/action/
3. http://localhost:8080/web/servlet
相对路径是http://localhost:8080/web/,访问js需要使用js/jquery.js
这时候abc.jsp里的../js/jquery.js的死路径就不能正确访问到js了。
===========================================
而真正的相对于web工程的绝对路径写法是:/ 代表url根路径,例如http://localhost:8080/web/js/jquery.js里的http://localhost:8080/,而./代表web工程根路径http://localhost:8080/web/
所以你还可以这么写:
1. /web/js/jquery.js
2. ./js/jquery.js
建立的目录:
WebRoot
1 business-test-test.jsp
2 js-jquery-1.8.1.js
3 jsp-abc.jsp
代码如下
abc.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'abc.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="../js/jquery-1.8.1.js"></script> </head> <body> 这是abc.jsp 页面 <br> </body> </html>
test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <jsp:forward page="../../jsp/abc.jsp"/> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'test.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 这是test.jsp页面<br> </body> </html>
发表评论
-
java中相对路径,绝对路径问题总结
2012-10-18 16:42 4691.基本概念的理解 绝对路径:绝对路径就是你的主页上的 ... -
OCX控件(组件)的相关知识
2012-10-17 17:49 676一、OCX组件的来历是怎样的? 一般的开发工具都会提供一些 ... -
CSS display:none和visibility:hidden区别
2012-10-16 13:55 1176你知道CSS display:none和visibili ... -
有关保存文件时的编码选项与html/jsp页面设定字符编码的配置
2012-10-12 16:03 930分两种情况介绍 注:首先,各位得对一次 请求/响应 的流 ... -
常见Web技术之间的关系
2012-10-12 10:52 617如果你是一个Web开发初学者,那么你难免会在网上搜索HT ... -
网页中 iframe和frame有什么区别
2012-10-10 22:08 0转载的资料: 浅谈If ... -
a target 用法
2012-10-10 22:07 748_blank -- 在新窗口中打开链接 _par ... -
Frameset 使用详解
2012-10-10 17:49 1444FRAME(框架)是Web上经常会看到的页面结构。使用可视We ... -
opener和parent区别
2012-10-09 16:05 751openeropener用于在window.open的页面引用 ... -
字段的传值
2012-09-14 16:42 624如一个类 @Table(name = "T_ ... -
引用变量值
2012-07-20 17:55 564<% String path = request ... -
JSP中文乱码解决方案-Tomcat5.0版
2012-07-06 10:35 682内容:首先,说说JSP/Servlet中的几个编码的作用。在J ... -
html 小细节
2012-04-19 16:46 5841 align="center" ce ... -
jsp页面 EL表达式
2012-04-11 14:56 761<tr> <td align=&qu ...
相关推荐
WPF中Image控件Source属性的相对路径和绝对路径问题的开发经验总结,亲测通过!
java中相对路径与绝对路径问题
java项目相对路径与绝对路径问题分析
关于Servlet中的相对路径和绝对路径归纳.
相对路径和绝对路径的概念
java Web 中相对路径绝对路径问题总结
帮你彻底弄清相对路径和绝对路径。。。。相对路径和绝对路径的区别与使用
绝对路径和相对路径
HTML相对路径和绝对路径
相对路径和绝对路径的优缺点,这一点很基础!
JSP、Servlet中的相对路径和绝对路径(包括路径问题),解决繁琐的路径问题。
绝对路径与相对路径.DOC文件.....
Asp.net相对路径与绝对路径
描述相对路径和绝对路径的区别与联系,讲解了../、/、../../等的含义
本文档是本人经过多次实验和长时间的累计总结的java路径问题
java web中File的相对路径与绝对路径总结,用于在运行时获取配置文件、动态加载对象等
相对路径与绝对路径的差别:详细分析了相对路径与觉丢路径的差别
实例说明在C#中如何将相对路径转化为绝对路径
连接ACCESS绝对路径相对路径.txt 连接ACCESS绝对路径相对路径.txt
本文是一篇Java相对路径绝对路径全面总结的word文档。