• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > JSP的相对路径如何计算深入研究

JSP的相对路径如何计算深入研究

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了jsp相对路径,jsp相对路径问题,jsp图片相对路径,jsp中相对路径,jsp中相对路径怎么写等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题描述:

要在/jsp/index.jsp文件使用图片,如何计算相对路径? 经过Servlet,struts转发后又如何计算相对路径?

目录结构:

应用名字:Demo

demo

----webroot

----images

----go.gif

----jsp

----index.jsp

----css

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

第一种情况:直接访问JSP文件

URL是 http://localhost/Context path/jsp/index.jsp

要在index.jsp引用go.gif文件:

1、使用决对路径

<img src='<%=request.getContextPath() %>/images/go.gif'/>

浏览器寻找方式: 域名+/Context path/images/go.gif ,可找到。

2、使用相对路径

<img src='../images/go.gif'/>

浏览器寻找方式:通过地址栏分析,index.jsp所在目录(jsp)的上一层目录(WebRoot)下的images/go.gif文件 。

3、使用base href

写<%=request.getContextPath() %>太麻烦,可以在每一个jsp文件顶部加入以下代码

<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <base href="<%=basePath%>">

<img src='images/go.gif'/>

浏览器寻找方式: basePath的值http://localhost/Context path/再加上images/go.gif,可找到。

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

第二种情况:servlet转发到jsp

1、使用相对路径

URL是http://localhost/Context path/servlet_2 (转发到/jsp/index.jsp)

错误:

根据/jsp/index.jsp路径计算,得到 <img src='../images/go.gif'/>

正确:

<img src='images/go.gif'/>

原因:

index.jsp是保存在服务器端的/jsp/index.jsp目录下面,但通过转发后浏览器并不知道/jsp/目录的存在,因为地址栏中没有体现出来。所以服务器端/jsp/目录并不会对相对路径产生影响

浏览器寻找方式:通过地址栏分析http://localhost/Context path/servlet_2 ,相对于servlet_2所在目录(/)下面找到images/go.gif文件

2、使用相对路径

URL是http://localhost/Context path/servlet/ser/ser/servlet_1 (转发到/jsp/index.jsp)

“/servlet/ser/ser/servlet_1 是在web.xml文件配置的

错误:

根据/jsp/index.jsp路径计算,得到 <img src='../images/go.gif'/>

正确:

<img src='../../../images/go.gif'/>

原因:

index.jsp是保存在服务器端的/jsp/index.jsp目录下面,但通过转发后浏览器并不知道/jsp/目录的存在,因为地址栏中没有体现出来。所以服务器端/jsp/目录并不会对相对路径产生影响

浏览器寻找方式:通过地址栏分析http://localhost/Context path/servlet/ser/ser/servlet_1,相对于servlet_1所在目录(ser)的上一层目录的上一层目录的上一层目录(/)下的images/go.gif文件

3、使用决对路径

<img src='<%=request.getContextPath() %>/images/go.gif'/>

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

总结:相对路径是由浏览器通过地址栏分析出来的,与服务器端文件的存放路径没有关系,由其是使用Servlet,struts转发到某jsp文件后,某jsp在服务器端存放的位置是/a/b/c/d/f/g.jsp , 但经过Servlet,struts转发后,浏览器的地址栏可不一定是/a/b/c/d/f/这样的层次。所以相对路径的计算以浏览器地址栏为准。

struts2中可以使用命名空间,来保证浏览器地址栏中的目录层次与服务器端目录层次的一致性,这样程序员通过服务器端的目录层次计算相对路径,在浏览器中也是正常的。

但我们理解了原理,就算不使用命名空间,自己也有强大的控制力。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 图片路径中含有中文在jsp下不能正常显示的原因及解决
  • 解决图片路径中含有中文在jsp下不能正常显示问题
  • JSP的相对路径如何计算深入研究
  • JSP应用的安全问题

相关文章

  • 2017-05-11利用JSP建立Web站点
  • 2017-05-11JSP 开发之servlet中调用注入spring管理的dao
  • 2017-05-11基于JSP的RSS阅读器的设计与实现方法(推荐)
  • 2017-05-11将TOMCAT装入IIS全攻略
  • 2017-05-11struts2集成javamail发邮件示例详解
  • 2017-05-11Spring在web.xml中的配置详细介绍
  • 2017-05-11JBuilder 2005单元测试之慨述
  • 2017-05-11jsp ${param.id}用法
  • 2017-05-11Java中关于XML的API
  • 2017-05-11jsp 复选框使用方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jsp 判断list是否包含string的实现方法
    • Java 通过设置Referer反盗链
    • JSP页面间传值问题实例简析
    • 使用富文本编辑器上传图片实例详解
    • log4j 文件输出
    • jsp实现页面分页功能代码
    • JBuilder 2005单元测试之慨述
    • Spring 整合 Hibernate 时启用二级缓存实例详解
    • Jsp真分页实例---分页
    • 如何使用JSP+MySQL创建留言本(二)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有