本人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 中的相对路径和绝对路径...
JSP、Servlet中的相对路径和绝对路径(包括路径问题),解决繁琐的路径问题。
为了实现Servlet虚拟路径的映射,我们需要了解Servlet的多重映射、Servlet映射路径中使用通配符、缺省Servlet等概念。 首先,让我们了解什么是Servlet虚拟路径的映射。Servlet虚拟路径的映射是指将一个Servlet映射...
### JSP/Servlet中的路径问题详解 #### 一、路径的基本概念 在JSP和Servlet技术中,理解和处理路径是非常重要的。路径可以分为绝对路径和相对路径两种。 **1. 绝对路径** - **定义**:绝对路径是指文件或目录在...
Servlet路径问题在Web开发中是常见的,特别是在使用Java Servlet技术时。Servlet路径涉及到表单提交、请求转发、URL映射以及资源访问等多个方面。以下是对这些知识点的详细解释: 1. **表单提交路径**: - 在HTML...
在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题。 2. 绝对路径概念 相对于...
Servlet 虚拟路径映射配置详解是指在 Servlet 中配置虚拟路径映射,以便客户端可以访问 Servlet。本文将详细介绍 Servlet 虚拟路径映射配置的详细信息。 1. 配置虚拟路径映射 在 web.xml 文件中,一个 `<servlet-...
这里可以设置Servlet的映射路径、初始化参数等。例如: ```xml <Servlet> <Servlet-name>MyServlet</Servlet-name> <Servlet-class>com.example.MyServlet</Servlet-class> <param-name>key <param-value>...
Servlet路径在Web开发中扮演着至关重要的角色,它是连接前端表单和后端处理逻辑的桥梁。在描述中提到,表单是用户交互和数据传输的主要手段,而Servlet则是处理这些数据并生成动态网页的核心。本文将详细探讨Servlet...
首先,你需要在项目的类路径下放置一个文件,然后在Servlet的`doGet()`或`doPost()`方法中调用`getRealPath()`或`getResource()`。这将帮助你理解如何在实际的JavaWeb应用中使用ServletContext来访问类路径下的文件...
### J2EE中的路径问题详解 #### 一、引言 在Java Web开发中,路径的概念至关重要,尤其是在处理JSP和Servlet之间的跳转时。本文将深入探讨J2EE环境中路径的基本概念及其应用方法,包括相对路径和绝对路径的定义、...
- 在传统的Java Web项目中,通常将`javax.servlet.jar`和`javax.servlet.jsp.jar`添加到项目的类路径中,这可以通过在`WEB-INF/lib`目录下放置这两个jar包实现。 - 使用Maven或Gradle等构建工具时,可以在pom.xml...
在这里,路径可以以"/"开头(相对当前项目路径)或者不以"/"开头(相对当前Servlet路径)。使用"/"开头的路径代表绝对路径,不带"/"则为相对路径。为了避免路径混乱,建议始终使用以"/"开头的绝对路径。 重定向路径...
5. **Servlet配置**:Servlet的配置通常在web.xml文件中进行,包括Servlet的注册、映射URL、设置初始化参数等。例如,`<servlet>`、`<servlet-mapping>`标签用于定义Servlet及其映射。 6. **Servlet上下文**:...
在Java Web开发中,路径问题是一个常见的挑战,尤其是在处理JSP页面、Servlet以及web.xml配置文件时。理解和正确使用路径对于构建稳定、高效的应用程序至关重要。以下是对标题和描述中提及的知识点的深入探讨。 ###...
以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与标准 #### 1. URL与URI URL(Uniform Resource Locator)统一资源定位符,是一种用于标识网络上资源位置的标准格式,如`...
由于Servlet是多线程的,开发者需要注意线程安全问题,避免在Servlet实例中使用非线程安全的数据结构。通常,将数据存储在`ServletConfig`或`ServletContext`中,而非Servlet实例,可以解决这类问题。 七、过滤器...
在探讨“jsp+servlet路径状态的测试”这一主题时,我们深入分析了在JSP与Servlet环境下,不同路径(绝对路径与相对路径)在页面跳转过程中的表现及其对资源定位的影响。本测试旨在理解并优化JSP页面之间的跳转机制,...