`
kk2018
  • 浏览: 1916 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

servlet中的路径问题

阅读更多

     本人java初学者,这是在学习servlet的转发和重定向时碰到的一个关于路径的小知识点。虽然看起来似乎很简单,但是有时候就是容易在这些小问题上犯糊涂,所以想总结一下,加深印象。

     首先我创建了3个servlet,在web.xml中的配置是这样的:

<servlet-mapping>
    <servlet-name>key1</servlet-name>
    <url-pattern>/servlet1</url-pattern>
    <servlet-name>key2</servlet-name>
    <url-pattern>/servlet/servlet2</url-pattern>
    <servlet-name>/servlet/kk/key3</servlet-name>
    <url-pattern>/servlet3</url-pattern>
</servlet-mapping>

     假如我要在这3个servlet中互相转发,语法就是:

request.getRequestDispatcher("url").forward(request, response);

     那么其中的url怎么写呢?例如我要从servlet2转发到servlet1,url为"servlet1"吗?测试发现浏览器给出这样的错误信息:

      HTTP Status 404 The requested resource (/test/servlet/servlet1) is not available. (test为项目名)

     意思是请求的URL所对应的资源不可用。想想当然不可用,因为servlet1在<servlet-mapping>中对应的<url-pattern>为'servlet1',而不是'servlet/servlet1'.
     这里就涉及到路径的知识了,无论是平常所说的文件路径,还是web中的资源路径,都有绝对路径和相对路径之分。绝对路径很好理解,就是文件或资源的完整物理路径。而所谓的相对路径就是相对于某个基准目录的路径。拿例子来解释:如"servlet1"这个url是一个相对路径,那么假设"servlet/servlet2"为基准路径,那么"servlet1"这个相对路径的真实路径为"servlet/servlet1"

注意:在servlet中,"/"代表根目录,在此例中,根目录就是项目的路径即:test/

                         "./"代表当前目录,如servlet/kk/key3这个url中key3的当前目录就是servlet/kk/

                         "../"代表上一级目录,如servlet/kk/key3这个url中key3的上一级目录就是servlet/

那么开头那个问题就很好解决了,从servlet2转发到servlet1正确url格式应为:"../servlet1"或者为"/servlet1"(因为servlet2上一级目录就是根目录了)。

分享到:
评论

相关推荐

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

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

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

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

    JavaWeb开发技术-实现Servlet虚拟路径的映射.pptx

    为了实现Servlet虚拟路径的映射,我们需要了解Servlet的多重映射、Servlet映射路径中使用通配符、缺省Servlet等概念。 首先,让我们了解什么是Servlet虚拟路径的映射。Servlet虚拟路径的映射是指将一个Servlet映射...

    jsp_servlet路径问题

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

    servlet路径问题

    Servlet路径问题在Web开发中是常见的,特别是在使用Java Servlet技术时。Servlet路径涉及到表单提交、请求转发、URL映射以及资源访问等多个方面。以下是对这些知识点的详细解释: 1. **表单提交路径**: - 在HTML...

    浅谈Servlet转发到JSP页面的路径问题(必看)

    在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题。 2. 绝对路径概念 相对于...

    Servlet虚拟路径映射配置详解

    Servlet 虚拟路径映射配置详解是指在 Servlet 中配置虚拟路径映射,以便客户端可以访问 Servlet。本文将详细介绍 Servlet 虚拟路径映射配置的详细信息。 1. 配置虚拟路径映射 在 web.xml 文件中,一个 `&lt;servlet-...

    servlet 中文帮助文档

    这里可以设置Servlet的映射路径、初始化参数等。例如: ```xml &lt;Servlet&gt; &lt;Servlet-name&gt;MyServlet&lt;/Servlet-name&gt; &lt;Servlet-class&gt;com.example.MyServlet&lt;/Servlet-class&gt; &lt;param-name&gt;key &lt;param-value&gt;...

    servlet路径说明

    Servlet路径在Web开发中扮演着至关重要的角色,它是连接前端表单和后端处理逻辑的桥梁。在描述中提到,表单是用户交互和数据传输的主要手段,而Servlet则是处理这些数据并生成动态网页的核心。本文将详细探讨Servlet...

    JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径

    首先,你需要在项目的类路径下放置一个文件,然后在Servlet的`doGet()`或`doPost()`方法中调用`getRealPath()`或`getResource()`。这将帮助你理解如何在实际的JavaWeb应用中使用ServletContext来访问类路径下的文件...

    J2ee中的路径问题(word文档)

    ### J2EE中的路径问题详解 #### 一、引言 在Java Web开发中,路径的概念至关重要,尤其是在处理JSP和Servlet之间的跳转时。本文将深入探讨J2EE环境中路径的基本概念及其应用方法,包括相对路径和绝对路径的定义、...

    javax.servlet jar包---解决找不到javax.servlet.*等问题

    - 在传统的Java Web项目中,通常将`javax.servlet.jar`和`javax.servlet.jsp.jar`添加到项目的类路径中,这可以通过在`WEB-INF/lib`目录下放置这两个jar包实现。 - 使用Maven或Gradle等构建工具时,可以在pom.xml...

    Java路径问题

    在这里,路径可以以"/"开头(相对当前项目路径)或者不以"/"开头(相对当前Servlet路径)。使用"/"开头的路径代表绝对路径,不带"/"则为相对路径。为了避免路径混乱,建议始终使用以"/"开头的绝对路径。 重定向路径...

    Servlet中文API文档 servlet

    5. **Servlet配置**:Servlet的配置通常在web.xml文件中进行,包括Servlet的注册、映射URL、设置初始化参数等。例如,`&lt;servlet&gt;`、`&lt;servlet-mapping&gt;`标签用于定义Servlet及其映射。 6. **Servlet上下文**:...

    java web开发中的路径问题

    在Java Web开发中,路径问题是一个常见的挑战,尤其是在处理JSP页面、Servlet以及web.xml配置文件时。理解和正确使用路径对于构建稳定、高效的应用程序至关重要。以下是对标题和描述中提及的知识点的深入探讨。 ###...

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

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

    Servlet中文api帮助文档

    由于Servlet是多线程的,开发者需要注意线程安全问题,避免在Servlet实例中使用非线程安全的数据结构。通常,将数据存储在`ServletConfig`或`ServletContext`中,而非Servlet实例,可以解决这类问题。 七、过滤器...

    jsp+servlet路径状态的测试

    在探讨“jsp+servlet路径状态的测试”这一主题时,我们深入分析了在JSP与Servlet环境下,不同路径(绝对路径与相对路径)在页面跳转过程中的表现及其对资源定位的影响。本测试旨在理解并优化JSP页面之间的跳转机制,...

Global site tag (gtag.js) - Google Analytics