`
holoblog
  • 浏览: 1260345 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:19483
文章分类
社区版块
存档分类
最新评论

JSP的相对路径深入研究

 
阅读更多

要在/jsp/index.jsp文件使用图片,如何计算相对路径? 经过Servlet,struts转发后又如何计算相对路径? 目录结构: ------------------------------------------------------------------------------ 第一种情况 :直接访问JSP文件 URL是 http://localhost/Context path/jsp/index.jsp 要在index.jsp引用go.gif文件: 1、使用决对路径 浏览器寻找方式: 域名+/Context path/images/go.gif ,可找到。 2、使用相对路径 浏览器寻找方式:通过地址栏分析,index.jsp所在目录(jsp)的上一层目录(WebRoot)下的images/go.gif文件 。 3、使用base href 写

<!--equest.getContextPath()-->

太麻烦,可以在每一个jsp文件顶部加入以下代码

<!--tring path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";-->

浏览器寻找方式: basePath的值http://localhost/Context path/再加上images/go.gif,可找到。 ------------------------------------------------------------------------------ 第二种情况: servlet转发到jsp 1、使用相对路径 URL是http://localhost/Context path/servlet_2 (转发到/jsp/index.jsp) 错误: 根据/jsp/index.jsp路径计算,得到 正确: 原因: 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路径计算,得到 正确: 原因: index.jsp是保存在服务器端的/jsp/index.jsp目录下面,但通过转发后浏览器并不知道/jsp/目录的存在,因为地址栏中没有体现出来。所以服务器端/jsp/目录并不会对相对路径产生影响 浏览器寻找方式:通过地址栏分析http://localhost/Context path/servlet/ser/ser/servlet_1,相对于servlet_1所在目录(ser)的上一层目录的上一层目录的上一层目录(/)下的images/go.gif文件 3、使用决对路径 ------------------------------------------------------------------------------ 总结:相对路径是由浏览器通过地址栏分析出来的,与服务器端文件的存放路径没有关系,由其是使用Servlet,struts转发到某jsp文件后,某jsp在服务器端存放的位置是/a/b/c/d/f/g.jsp , 但经过Servlet,struts转发后,浏览器的地址栏可不一定是/a/b/c/d/f/这样的层次。所以相对路径的计算以浏览器地址栏为准。原创地址:http://elf8848.javaeye.com/ struts2中可以使用命名空间,来保证浏览器地址栏中的目录层次与服务器端目录层次的一致性,这样程序员通过服务器端的目录层次计算相对路径,在浏览器中也是正常的。 但我们理解了原理,就算不使用命名空间,自己也有强大的控制力。 转载入注明出处:JAVA应用与开发办公室 http://elf8848.javaeye.com/

分享到:
评论

相关推荐

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

    本文将深入探讨在不同场景下,如何在JSP中正确计算和使用相对路径。 首先,我们来看直接访问JSP文件的情况。假设应用名为"Demo",其目录结构如下: ``` Demo └── demo └── webroot ├── images │ └─...

    jsp:include与include实探

    这里的`page`属性指定要包含的资源路径,可以是相对URL或者绝对URL。`flush`属性默认为`false`,设置为`true`时,会清空响应缓冲区,确保被包含页面的内容立即写入响应。`jsp:include`在执行时是动态包含,这意味着...

    JSP源码——[图片动画]ttcodes JSP图片小偷 v1.0_jsp_tupian.zip

    - 文件路径管理,包括相对路径和绝对路径的处理,以及目录的创建和删除。 5. **多线程处理**: - 对于大量图片的下载,可能需要使用多线程来提高效率,避免阻塞用户界面。 - Java的`Thread`类或`ExecutorService...

    jsp入门学习-如何成为jsp程序员

    - **建议**:避免深入研究Swing或Java图形界面编程,因为这些内容在JSP中很少使用。可以通过编写小型应用程序来练习。 ##### 4. 学习JavaScript - **目标**:掌握如何在HTML页面中使用JavaScript进行表单验证,...

    网站性能优化 Web开发 JSP java

    综上所述,通过对页面静态化、缓存技术、数据源管理、SSI技术以及权限模块等方面的深入研究和实践,我们可以有效地提升网站的整体性能和用户体验。在实际开发过程中,还需要根据具体的业务需求和技术架构,选择最...

    JSP高级编程

    本书既适合初学者阅读,也适合具有一定JSP基础的开发人员深入研究使用。 前 言 JSP是SUN公司推出的一种新型的Internet/Intranet开发语言,和前一代Internet/Intranet开发语言(ASP、PHP)相比,JSP在以下几个方面...

    基于JSP的学生选课排课系统论文

    本文详细介绍了基于JSP的学生选课排课系统的开发过程,从需求分析到系统设计,再到详细设计和测试,每一环节都进行了深入探讨。通过该系统的实现,不仅提升了学校教学管理的自动化水平,也极大地改善了师生的教学...

    扫描本地页面文件.html或jsp,按照原目录结构,提取页面相关的js.css.img等

    5. **资源提取**:将找到的JavaScript、CSS和图片文件从原始位置复制到新的目录结构中,保持相对路径的正确性。 标签中提到的“源码”意味着这个工具可能是开源的,用户可以查看和修改源代码以满足特定需求。“工具...

    毕业论文jsp272在线音乐系统(ssh).doc

    随着信息技术的飞速发展,网络已经深入到人们的日常生活之中,而音乐作为人类精神生活的重要组成部分,其在线传播和分享也变得越来越普遍。音乐网站的出现,满足了用户随时随地欣赏音乐的需求,同时为音乐爱好者提供...

    毕业论文jsp729在线考试系统ssh.doc

    随着信息技术的飞速进步,网络已经深入到人们生活的各个角落,教育领域也不例外。在线考试系统作为现代教育信息化的重要组成部分,为教学活动提供了极大的便利。传统的考试模式往往受限于时间和地点,而基于JSP的...

    毕业论文jsp583校园二手交易ssh.doc

    本文首先介绍了课题背景及研究意义,接着对所采用的技术进行概述,包括S2SH框架、JSP、MySQL数据库等。然后,详细阐述了需求分析,包括功能需求和非功能需求,以及可行性分析。接下来,通过业务流程分析和功能分析,...

    ssh框架下的常见问题处理方式,免费下载

    开发者需要理解相对路径和绝对路径的概念,以及如何进行目录操作,如创建、删除、读取目录。在SSH框架中,可能涉及到动态构建资源路径,例如加载配置文件或静态资源,这时可以使用Spring的Resource对象,它支持类...

    struts-1.2.9-src.rar

    9. **ActionForward**:定义了Action执行后如何跳转到其他页面或Action,可以是相对路径或绝对路径,也可以指向一个Tiles定义的定义。 10. **Interceptor(拦截器)**:尽管Struts 1.2.9版本没有正式引入拦截器概念...

    struts源代码

    通过深入研究Struts的源代码,开发者可以学习到如何组织和设计Web应用的架构,理解MVC模式的实现,以及如何利用框架来简化开发工作。此外,源代码中的注释和设计模式也对提升编程技能非常有帮助。总之,对Struts源...

    毕业论文ssm143校园一卡通系统软件的设计与实现+jsp论文.doc

    例如,使用Java和Mysql数据库可以保证跨平台运行,成本相对较低,且维护便捷,符合大多数学校的实际需求。 【功能分析】与【业务流程分析】可能详细描述了每个功能模块的运作过程,如用户登录、账户信息管理、消费...

    J2EE学习方法与指导

    学习J2EE需要遵循一定的步骤和方法,以下是一个逐步深入的学习路径。 首先,要从基础的Java语法入手,推荐阅读《Thinking in Java》来理解和掌握面向对象编程的基本概念,包括封装、继承和多态。在这个阶段,理解...

    Java学习阶段步骤

    深入研究数据库连接池、存储过程、触发器等高级特性,这些技术能够提高数据库操作的性能和效率,特别是在大规模数据处理场景下。 #### 第七阶段:HTML与CSS 学习HTML标签和CSS样式,为Web前端开发奠定基础。理解...

    struts1.3源码.rar

    5. **ActionForward**:定义了Action执行后的转发路径,可以是相对路径或者绝对路径,用于决定用户请求处理后的显示页面。 6. **RequestProcessor**:请求处理器,它是Struts框架处理请求的第一步,负责解析请求、...

Global site tag (gtag.js) - Google Analytics