如何更正web.xml文件中的URL映射

时间:2013-02-03 01:10:50

标签: html jsp servlets

这是我的方案......我的主页链接是

local/proj/admin-home

当我浏览其他链接时,如

local/proj/registration/organization-registry

但在该页面上,当我将鼠标悬停在另一个链接时,链接会给我

local/proj/registration/list

但这个链接必须是

local/proj/list

所以我注意到当我浏览链接local / proj / registration / organization-registry时,该页面中的所有链接也以local / proj / registration /开头,但必须是/ local / proj / only ..

这是我的xml文件

<servlet>
<servlet-name>admin-home</servlet-name>
<servlet-class>web.HomeServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>admin-home</servlet-name>
<url-pattern>/admin-home</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>list</servlet-name>
<servlet-class>ViewRegisteredServlet.RegisteredOrganizationServlet</servlet-class>
</servlet>

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

<servlet>
<servlet-name>organization-registry</servlet-name>
<servlet-class>web_registration.OrganizationServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>organization-registry</servlet-name>
<url-pattern>/registration/organization-registry</url-pattern>
</servlet-mapping>

1 个答案:

答案 0 :(得分:2)

您显然使用的是相对链接。相对链接是一个不以方案开头的链接(例如http://),也不是正向斜杠/,它会将您带到域根目录。

<a href="list">list</a>

这样的链接是相对于当前的URL(如浏览器的地址栏中所示)。所以它基本上指向同一文件夹中的资源。

你实际上需要一个文件夹:

<a href="../list">list</a>

或者,更好的是,让它与域相关,这样,无论何时移动资源,都不需要乱用链接。

<a href="${pageContext.request.contextPath}/list">list</a>

这一切都与您的servlet映射无关。这只是一个基本的Web开发概念。

另见: