`
加菲学Java
  • 浏览: 132593 次
  • 性别: Icon_minigender_1
  • 来自: 扬州
社区版块
存档分类
最新评论

Servlet路径问题

    博客分类:
  • JSP
阅读更多

       在初学servlet的时候路径的确是个问题,如果不好好的搞懂,在实际应用中真的会犯糊涂。

 

   下面通过几个例子分析和看下到底是个什么状况。

 

     有如下一个表单:test.jsp( 此文件在 WebRoot 根目录 )

 

<form action="SecondServlet">
    	UserName:<input type="text" name="username" size="20"/>
    	Password:<input type="password" name="password" size="20"/>
    	<input type="submit" value="OK"/>
</form>

   另一种action 的配置方式:

 

 <form action="/JSP/SecondServlet">

  web.xml配置如下:

 

<servlet>
    <servlet-name>SecondServlet</servlet-name>
    <servlet-class>com.test.servlet.SecondServlet</servlet-class>
 </servlet>
<servlet-mapping>
    <servlet-name>SecondServlet</servlet-name>
    <url-pattern>/SecondServlet</url-pattern>
</servlet-mapping>
 

  SecondServlet.java:

 

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		this.process(request, response);
	}

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		this.process(request, response);
	}

public void process(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		
		response.setContentType("text/html");
		PrintWriter out=response.getWriter();
		
		out.println("<h1>"+username+"<br>"+password+"</h1>");
	}

疑问?

 

刚刚在配置文件中<servlet-name>和<url-pattern>写的都一样,那么 jsp页面中的表单form的action是根据什么来找到对应的servlet的呢?

是根据<servlet-name> 还是根据<url-pattern>

下面通过修改web.xmltest.jsp 表单中的action 来观察。

 

<form action="MyServlet">(写的是url-pattern的名字)
 
<servlet>
	<servlet-name>FirstServlet</servlet-name>
	<servlet-class>com.test.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>FirstServlet</servlet-name>
	<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>

 

 此时输入localhost/JSP/test.jsp ,提交发现页面的跳转:

http://localhost/JSP/MyServlet?username=admin&password=admin 
 

 

 在此就证明了jsp 页面和 servlet 相关联是通过 <url-pattern> 联系起来的!

 

 

 要是不放心,可以再次修改:

 

<form action="Firstervlet">(写的是servlet-name的名字)

 

 此时在运行,发现程序会报404 错误 .

 

 

 

下面又有问题了:

此时如果test.jsp jsp 文件下,即 (WebRoot-->jsp-->test.jsp )

<servlet>
	<servlet-name>SecondServlet</servlet-name>
	<servlet-class>com.test.servlet.SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>SecondServlet</servlet-name>
	<url-pattern>/SecondServlet</url-pattern>
</servlet-mapping>

 

 根据上面的配置可以很容易的想到:

 

<form action="/JSP


/SecondServlet">

 或者

<form action="SecondServlet">

 

 

再改进:

 

<servlet>
	<servlet-name>SecondServlet</servlet-name>
	<servlet-class>com.test.servlet.SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>SecondServlet</servlet-name>
	<url-pattern>/second/SecondServlet


</url-pattern>
</servlet-mapping>

 那么

 

<form action="second/SecondServlet">

 

还有一种配置方法:

如:demo.html JSP-->WebRoot-->serdemo

修改web.xml

 

<servlet-mapping>
	<servlet-name>input</servlet-name>
	<url-pattern>/serdemo/input


</url-pattern>(相应的文件夹)
</servlet-mapping>
 

此时的配置方式是直接写出了文件夹的名称。

那么demo.html 中怎么写呢?

<form action="input


" method="post">
 

 

总结:

jsp 页面中配置 servlet 路径的时候根据 url-pattern 配置

有两种形式:

通用 (在根目录下或者在某个文件下 )

<url-pattern>/x/y</url-pattern>

 

那么jsp/html 中就这样 ( 以表单为例 )

action="x/y"

 

或者

action="/项目名称/x/y"    (注意项目名称前面要加/


)
 

 

在文件下:

<url-pattern>/文件夹名称
/y</url-pattern>

 

那么jsp/html 中就这样:

action="y"
 

 

 

 

 

分享到:
评论

相关推荐

    servlet路径问题

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

    jsp_servlet路径问题

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

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

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

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

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

    servlet路径说明

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

    jsp+servlet路径状态的测试

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

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

    JavaWeb开发技术-实现Servlet虚拟路径的映射 在JavaWeb开发技术中,实现Servlet虚拟路径的映射是非常重要的一步。Servlet是一个小型的Java程序,它可以运行在服务器端,处理客户端的请求,并将结果返回给客户端。...

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

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

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

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

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

    当你遇到“找不到javax.servlet.*”这样的错误时,通常是因为你的项目缺少了这个库,所以需要引入`javax.servlet.jar`来解决问题。 1. **Java Servlet简介** Java Servlet是Java平台上的一个标准,用于扩展服务器...

    Java路径问题

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

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

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

    Servlet虚拟路径映射配置详解

    Servlet 虚拟路径映射配置详解 Servlet 虚拟路径映射配置详解是指在 Servlet 中配置虚拟路径映射,以便客户端可以访问 Servlet。本文将详细介绍 Servlet 虚拟路径映射配置的详细信息。 1. 配置虚拟路径映射 在 ...

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

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

    Java开发绝对和相对路径问题

    在 JSP/Servlet 中,路径问题非常重要,正确的理解和使用路径可以避免许多问题。 2.1 服务器端的地址 在 JSP/Servlet 中,服务器端的相对地址指的是相对于当前 Web 应用的地址,这个地址是在服务器端解析的。例如...

    用于servlet程序的开发的servlet-jar包

    开发者在构建web应用时,通常会将此jar包添加到项目的类路径中,以便能够利用Servlet API进行编程。 Servlet API主要包括以下几个关键概念和类: 1. **Servlet**:这是所有服务器端Java小程序的基类,实现了...

    WebLogic平台下部署Servlet与Jsp

    2. **遇到的问题及解决**:实验初期可能遇到未编译JAVA文件就打包的问题,解决方法是在打包前先确保所有源代码都已正确编译。 3. **后续扩展**:可以尝试部署更复杂的Servlet与Jsp应用,探索更多高级功能,如会话...

    java web开发中的路径问题

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

    Servlet中文API文档 servlet

    HttpServletRequest包含了请求的所有信息,如请求参数、头信息、请求路径等;HttpServletResponse则用于构造和发送HTTP响应。 8. **过滤器Filter**:Servlet API还提供了Filter机制,允许在请求到达Servlet之前或...

Global site tag (gtag.js) - Google Analytics