`

JSP中相对路径问题

    博客分类:
  • JSP
阅读更多
2012-11-2修改:
在IE8上有时出问题:IE8有时会忽略<base/>的作用。所以,使用JSP的时候,有两种方案:
所有URL使用 "/"开头,把工程放在根路径(不同工程用不同端口启动)。
或者,所有URL使用<c:url value="/xxx/xx.action"/>,但这会很麻烦。



JSP中使用include时,例如
<!--其中/开始,表示应用的根路径。这里没有什么问题。-->
<%@include file="/inc/hello_you.jsp" %>


JSP中会用到样式或JS的URL引用:
<style type="text/css">
body 
{
/* "/"表示域名根路径,和应用根路径是不同的,当应用不是放在域名根目录的时候就会出现混乱 */
/* 注意,如果没有"/"则是相对于该页面,这不是我们想要的 */
background-image:url(/i/bg.JPG);
}
</style>


常见的解决方法:使用base标签
The <base> tag specifies the base URL/target for all relative URLs in a document.
The <base> tag goes inside the <head> element.
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>"> 
<style type="text/css">
body 
{
/* 这里通过base标签使html设置相对位置为应用根目录,不再是相对于页面 */
background-image:url(i/bg.JPG);
}
</style>


例子代码:
<html>
<head>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>"> 
<style type="text/css">
body 
{
background-image:url(i/bg.JPG);
}
</style>
</head>

<body>
<%@include file="/inc/hello_you.jsp" %>
<p>hello world</p>

</body>

</html>


分享到:
评论

相关推荐

    JSP中绝对路径与相对路径

    ### JSP中绝对路径与相对路径的理解与应用 #### 一、引言 在Web开发中,路径的选择对于页面间的跳转以及资源的加载至关重要。本文将深入探讨JSP(JavaServer Pages)环境中绝对路径与相对路径的区别及其应用场景,...

    JSP的相对路径深入研究

    JSP相对路径深入研究是指在JSP文件中使用图片、CSS、JavaScript等资源时,如何正确地计算相对路径,以便正确地加载资源。下面我们将深入研究JSP相对路径的计算规则。 第一种情况:直接访问JSP文件 当我们直接访问...

    JSP相对路径的练习

    在JavaServer Pages (JSP) 开发中,理解并熟练运用相对路径是非常关键的技能,尤其是在处理页面间的链接、资源引用以及文件操作时。相对路径是相对于当前文档位置的路径,与之相对的是绝对路径,它是从文件系统根...

    JSP、Servlet中的相对路径和绝对路径(包括路径问题).mht

    JSP、Servlet中的相对路径和绝对路径(包括路径问题),解决繁琐的路径问题。

    java中相对路径与绝对路径的问题

    "Java 中相对路径与绝对路径的问题" Java 中的路径问题一直是困扰许多编程人员的问题之一。在 Java 中,我们需要了解相对路径和绝对路径的概念,以及如何获取它们。下面我们将详细地讨论 Java 中的相对路径和绝对...

    Java开发绝对和相对路径问题

    在 JSP/Servlet 中,正确的理解和使用路径非常重要,避免使用类似".","./","../../" 等类似的相对该文件位置的相对路径,使用 request.getContextPath() 方法来获取当前应用的相对路径,可以避免许多问题。

    java Web 中相对路径绝对路径问题总结

    以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与标准 #### 1. URL与URI URL(Uniform Resource Locator)统一资源定位符,是一种用于标识网络上资源位置的标准格式,如`...

    jsp相对路径绝对路径解决...

    很好帮助理解路径问题,供大家参考使用.....................

    java(Web)中相对路径,绝对路径问题总结

    ### Java(Web)中相对路径与绝对路径问题总结 #### 基本概念理解 在Java Web开发中,路径的概念非常重要,因为它们直接影响到资源的加载和处理。路径分为两种类型:绝对路径和相对路径。 **绝对路径**是指文件或...

    JSP 页面中用绝对路径显示图片

    在实际开发中,考虑到可维护性和灵活性,通常会结合使用绝对路径和相对路径。例如,可以将静态资源如图片、CSS、JavaScript文件等放在一个统一的公共目录下,然后使用绝对路径引用。同时,为了提高性能和减少HTTP...

    绝对路径和相对路径

    在JSP和Servlet中获取当前应用的相对路径和绝对路径非常重要,可以帮助开发者更好地处理文件和目录。 ##### 3.1 JSP中获得当前应用的相对路径和绝对路径 - **根目录所对应的绝对路径**:可以通过`request....

    Java相对路径绝对路径总结

    #### 二、JSP/Servlet中的相对路径和绝对路径 ##### 2.1 服务器端的地址 服务器端的相对地址是指相对于Web应用的地址。在服务器端解析时,这些地址与客户端浏览器解析的不同。 - **Forward**: 在Servlet中使用`...

    jsp路径问题

    jsp根路径解决方法,可以解决相对路径与绝对路径之间混淆的问题。

    在JAVA文件中获取该项目的相对路径.doc

    在 JAVA 文件中获取项目的相对路径是非常重要的,特别是在 JSP/Servlet 中。下面将详细介绍在 JAVA 文件中获取项目的相对路径的相关知识点。 1. 绝对路径和相对路径的概念 在讨论获取项目的相对路径之前,我们需要...

    jsp_servlet路径问题

    ### JSP/Servlet中的路径问题详解 #### 一、路径的基本概念 在JSP和Servlet技术中,理解和处理路径是非常重要的。路径可以分为绝对路径和相对路径两种。 **1. 绝对路径** - **定义**:绝对路径是指文件或目录在...

    JSP中得到几种得到路径的方法

    这个路径通常用于构建相对路径,确保资源链接在不同的部署环境中仍然有效。 ### 3. 获取当前页面所在目录下全名称 `request.getServletPath()`方法可以获取当前请求的Servlet的路径,它不包含上下文路径,仅返回从...

    Servlet中的相对路径和绝对路径归纳

    Servlet 中的相对路径和绝对路径归纳 在 Servlet 编程中,路径是非常重要的一个概念。路径可以分为相对路径和绝对路径两种,在不同的场景下,选择合适的路径类型非常重要。本文将对 Servlet 中的相对路径和绝对路径...

    java中相对路径,绝对路径问题总结.doc

    本文主要涵盖了Java中相对路径和绝对路径的基本概念,以及它们在JSP和Servlet中的应用。以下是对这些概念的详细解释: 1. **绝对路径**: 绝对路径是文件或目录在文件系统中的完整路径,它明确指出了从根目录开始...

Global site tag (gtag.js) - Google Analytics