`
ihuashao
  • 浏览: 4721834 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java Web实践专题——访问路径问题

阅读更多
Web应用是由大量的文件组成的,系统等运行主要是靠文件之间的相互调用来完成,调用就是根据文件的位置来确定的。如果你在访问某个文件的时候,系统报下面这样的错误,如果你的文件名没有写错,就是路径出错了。
为了说明路径问题,我们假设有以下的文档结构:
这是JBuilder2006下的一个截图,应用的名字是filepathweb,有两个文件夹,aa和bb,其中aa下有a_a.jsp和a_b.jsp两个文件,bb下有b_a.jsp文件。
绝对路径
Web文件访问的基本格式如下:
协议://主机:端口/应用名/文件夹名/文件
协议:这里应该是http协议;
主机:是运行Web应用的服务器的地址,可以使用主机名(或者域名),可以使用IP地址,如果是本机的话,可以使用虚拟IP地址(127.0.0.1),可以使用机器名。
端口:Web服务器运行时候所使用的端口,每个服务器程序都会有端口。对于Web应用来说,默认的端口是80。
应用名:在同一个应用服务器上可能运行多个Web应用,这是允许的,我们在访问某个应用的时候,需要指定所访问的Web应用,这个路径通常是Web应用文件夹的名字,但是可以配置成其它的。应用的配置参见Web应用部署相关内容。
文件夹名:在同一个Web应用中可能会根据不同的功能创建不同的文件夹来存放不同功能模块的文件,为了访问这个文件,必须指定它所在的文件夹。
文件:要访问的jsp文件。
需要注意的是文件夹名和文件名共同确定了这个文件,相当于文件的完整路径。对于Servlet的访问,使用的不是文件名,而是在web.xml中配置的路径,可以参加Servlet部分内容。
例:如何访问上面的Web应用的中的a_a.jsp文件,假设在本机上访问,使用的端口是8083,部署的时候使用的应用的名字就是filepathweb。
路径应该这样写:
http://127.0.01:8083/filepathweb/aa/a_a.jsp
或者
http://localhost:8083/filepathweb/aa/a_a.jsp
需要解释几个问题:
(1)有人说,上网的时候从来不需要输入端口,原因是使用了默认端口,Web应用的默认端口是80。
(2)有人说,从来也不需要输入应用的名字,原因是设置了默认应用,关于默认应用请参考本书中的其它相关内容。
(3)有人说,也不需要输入要访问的文件名,原因是设置了欢迎网页,在web.xml中设置的,关于这部分内容,请参考本书中其它相关内容。
相对路径
上面介绍了对于某个文件的访问方式,这里的访问方式叫绝对路径,也就是我们使用完整的路径,在web应用的文件相互访问的时候,除了可以使用绝对路径,还可以使用相对路径。例如,我们要在a_a.jsp文件中访问a_b.jsp,直接写绝对路径肯定没有问题,但是写起来不方便,另外如果部署的时候Web应用的名字发生变化了,访问的路径都需要改变,所以我们应该使用相对路径。
相对路径有两种情况:第一种,相对于当前文件的位置;第二种,相对于应用的位置。
相对路径在使用的时候需要知道以下知识:
(1)当前路径是“.”,表示当前路径。
(2)上一级路径是“..”,要访问上一级文件夹,就需要写“./../”。
(3)相对于应用的路径直接写“/”。
根据上面的情况在a_a.jsp文件中访问a_b.jsp有以下3种方式(通过超链的方式):
<a href="a_b.jsp">a_b.jsp</a><br>
<a href="http://localhost:8083/filepathweb/aa/a_b.jsp">a_b.jsp</a><br>
<a href="/filepathweb/aa/a_b.jsp">a_b.jsp</a><br>
第一种情况,就是相对路径,因为a_a.jsp和a_b.jsp在同一个文件夹,所以直接写a_b.jsp,系统会在a_a.jsp所在的文件夹查找a_b.jsp,使用的相对于当前文件的路径。
第二种情况,使用了绝对路径,就是前面介绍过的。
第三种情况,使用了应用的位置信息,然后只要写在应用中的位置就可以了。
这是访问同一个文件的情况,如果要访问不同文件夹的文件怎样办呢?例如,要在a_a.jsp中访问bb文件夹中的b_a.jsp。
对于bb中的b_a.jsp的访问,上面使用的3种方法中的第二种和第三种同样可以直接使用,但是相对于当前文件的路径比较麻烦,下面是在a_a.jsp中访问b_a.jsp的3种方式:
<a href="./../bb/b_a.jsp">a_b.jsp</a><br>
<a href="http://localhost:8083/testweb/bb/b_a.jsp">a_b.jsp</a><br>
<a href="/testweb/bb/b_a.jsp">a_b.jsp</a><br>
需要说明的是相对于路径,如果当前文件夹比较深,可以多次使用“../”,“./”表示当前文件夹。
这里介绍了文件访问相关的路径问题,关于Servlet与JSP的访问路径问题,我们在Servlet部分介绍。
分享到:
评论

相关推荐

    亮剑Java web源代码+ppt教程01——11

    《亮剑Java Web源代码+ppt教程01——11》是一份全面涵盖Java Web开发的教育资源,旨在帮助初学者和进阶者深入理解和实践Java在Web应用中的应用。这套资源包括了完整的源代码和配套的PPT教程,提供了一个从基础到高级...

    《java web编程宝典-十年典藏版》 源码3

    《Java Web编程宝典-十年典藏版》是Java Web开发领域的一本经典教程,它深入浅出地讲解了如何使用Java技术进行Web应用程序的开发。这本书的源码部分是学习过程中非常重要的辅助资料,可以帮助读者更好地理解书中的...

    JAVA FTP下载 程序——源代码

    根据提供的文件信息,我们可以归纳出以下几个...此外,还可以进一步学习如何将 FTP 功能集成到 Web 应用程序中,如使用 JSP 和 Struts 框架。希望这些知识点能够帮助你在实际项目中更好地理解和应用 Java FTP 技术。

    java面试——Nginx面试专题.zip

    Nginx还支持URL重写,可以用于优化SEO,或者根据需求调整动态和静态资源的访问路径。通过配置location块,可以精细化控制不同URL的访问策略。 在高并发场景下,Nginx的异步非阻塞I/O模型表现出色。它使用epoll...

    web学习笔记 —— 过滤器

    本文将深入探讨过滤器的概念、工作原理以及如何在Java Web应用程序中使用过滤器。 过滤器是Servlet规范的一部分,它通过实现javax.servlet.Filter接口来创建。这个接口定义了三个主要方法:doFilter、init和destroy...

    基于maven+spring+spring mvc+mybatis 框架web项目

    在IT行业中,构建Web应用程序是一项常见的任务,而“基于maven+spring+spring mvc+mybatis框架web项目”提供了一个适用于初学者的学习路径。这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC...

    web学习笔记 —— jsp内置对象

    在学习JSP内置对象的过程中,阅读相关文档、实践案例以及参考博客(如《web学习笔记 —— jsp内置对象》)是非常有益的。不断实践和探索,将使你更好地理解和运用这些对象,从而在Web开发领域更加游刃有余。

    简单的web开发——servlet案例

    总之,"简单的web开发——servlet案例"为初学者提供了一个很好的起点,通过学习和实践,你可以掌握如何使用Servlet构建动态Web应用程序,并逐步熟悉Java Web开发的整体流程。随着经验的增长,你将能够运用更复杂的...

    JAVA WEB环境的搭建.pdf

    JAVA WEB开发已经有十多年的历史,积累了丰富的实践经验和技术沉淀。 - **Web服务器**:负责接收来自客户端的HTTP请求,并将处理结果返回给客户端。 - **Web客户端**:浏览器是主要的Web客户端,用户通过浏览器访问...

    【Java毕业设计】毕业设计——基于Java的漏洞扫描系统.zip

    【Java毕业设计】毕业设计——基于Java的漏洞扫描系统 在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用...通过这样的实践,学生能够将理论知识应用于实际问题,进一步理解并掌握Java在现实世界中的应用。

    WEB框架——REST原理(架构风格与基于网络的软件架构设计)

    在Java中,实现RESTful API常用的是**JAX-RS**(Java API for RESTful Web Services),如 Jersey、RESTEasy 和 Quarkus 等框架。这些框架提供了注解来简化接口定义,例如`@Path`用于定义资源路径,`@GET`、`@POST`...

    freemarke 2.3.10

    这表明FreeMarker是一个库,通常以JAR(Java Archive)文件的形式被包含在Java Web应用的类路径中。开发人员可以利用它来创建可复用的模板,这些模板可以根据后端提供的数据动态生成前端视图。FreeMarker的设计理念...

    李兴华Java Web开发实战经典(高清版) Part2

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    java项目——家具销售管理项目

    【Java项目——家具销售管理项目】是一个以Java编程语言实现的管理系统,主要目的是为了帮助家具销售企业进行日常的业务管理。这个项目包含了完整的源代码、设计文档、PPT演示以及详细的截图,使得初学者能够通过...

    java面试——SpringBoot面试专题.zip

    - **@WebMvcTest** / **@DataJpaTest**:针对特定模块如Web层或数据访问层进行单元测试。 8. **监控与健康检查** - **Actuator**:Spring Boot提供Actuator模块,用于监控应用状态,包括内存、线程、HTTP请求等...

    java+web开发教程

    在“Java Web开发教程——入门与提高篇(JSP+Servlet)”这个教程中,你将系统学习这些知识点,逐步掌握如何使用Java进行Web开发,建立起从零到一的实战能力。无论是对HTTP协议的理解,还是对Java Web组件的运用,都...

    java实现仿照百度文库功能——源代码+文档

    在本项目中,我们主要探讨如何使用Java技术栈来实现一个类似于百度文库的功能。这个功能包括用户上传文档、搜索文档、预览文档...通过实践这样的项目,开发者可以深入理解Java Web开发的全貌,并提升解决问题的能力。

    独门架构——JavaWeb开发应用详解(电子版)

    《独门架构——JavaWeb开发应用详解》是一本深度探讨JavaWeb开发技术的专业书籍,旨在帮助已经具备Java基础知识的学习者和开发者进一步提升在Web领域的专业技能。本书详细讲解了JavaWeb开发中的各种核心概念、技术和...

    JAVA WEBjar包驱动

    Java Webjar包驱动是Java开发中的重要组成部分,主要用于在Web应用程序中处理数据交互、邮件服务以及数据库连接。这里提到的三个关键文件——activation.jar、mail.jar和sqljdbc.jar,都是Java开发中的核心库,分别...

Global site tag (gtag.js) - Google Analytics