0

これが私のシナリオです...私のホームページのリンクは

local/proj/admin-home

私が次のような別のリンクを閲覧するとき

local/proj/registration/organization-registry

しかし、そのページでマウスを別のリンクに合わせると、リンクからリンクが表示されます

local/proj/registration/list

しかし、このリンクは

local/proj/list

そのため、local / proj / registerration / organization-registryリンクを参照すると、そのページのすべてのリンクもlocal / proj / registerration /で始まりますが、/ 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>
4

1 に答える 1

2

どうやら相対リンクを使用していたようです。相対リンクは、スキーム(eg)で始まらないリンクでも、ドメインルートに移動するhttp://スラッシュで始まらないリンクでもあります。/

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

このようなリンクは、現在のURLに関連しています(ブラウザのアドレスバーに表示されます)。つまり、基本的に同じフォルダ内のリソースを指しています。

実際には、1つのフォルダーを上に移動する必要があります。

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

または、リソースを移動するたびにリンクをいじる必要がないように、ドメイン相対にすることをお勧めします。

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

これはすべて、サーブレットのマッピングとは何の関係もありません。これは単なる基本的なWeb開発の概念です。

参照:

于 2013-02-03T01:13:50.967 に答える