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

Html 如何更正web.xml文件中的URL映射,html,jsp,servlets,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/admin-home
当我浏览另一个链接时,如

local/proj/registration/organization-registry
但在那个页面上,当我将鼠标悬停在另一个链接上时,该链接给了我

local/proj/registration/list
但这一联系必须得到加强

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

这是我的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>

管理之家
web.HomeServlet
管理之家
/管理之家
列表
ViewRegisteredServlet.RegisteredOrganizationServlet
列表
/名单
组织注册处
web_registration.OrganizationServlet
组织注册处
/注册/机构注册处

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

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

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

实际上,您需要向上移动一个文件夹:

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

或者,更好的做法是,使其与域相关,这样您就不必在移动资源时弄乱链接

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

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

另见:

Im使用一个页面来显示所有页面中的所有菜单。所以我只需要将${pageContext.request.contextPath}/放在我所有的链接中?从技术上讲,是的,最可靠的方法是用上下文路径预先添加所有特定于webapp的链接。另请参阅“请参阅”链接,以获取如何使此页面不那么臃肿的提示。还有一件事,如果我通过servlet重定向页面,如何实现这一点?例如,分别发送重定向(“管理主页”);只需使用
response.sendRedirect(request.getContextPath()+“/admin home”)
。注意,许多(如果不是所有的话)基于JavaEE的MVC框架都透明地考虑到了这一点,例如JSF。