Vous pouvez définir un servlet dans votre web.xml comme ci-dessous, puis utiliser request.getRequestDispatcher("file").forward(request,response)
, essentiellement ce qui se passera est que vous seriez d'envoyer votre demande à un servlet dont la cartographie est /file
et que servlet vous pointer vers votre ressource /html/file.html
. S'il vous plaît noter que même si le nom de l'élément est jsp-file
mais vous pouvez pointer un HTML à partir de celui-ci.
<servlet>
<servlet-name>FileServlet</servlet-name>
<jsp-file>/html/file.html</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/file</url-pattern>
</servlet-mapping>
En tant que add-on - à venir à la façon dont les modèles d'URL correspond à la présente cartographie serlvet dans le fichier web.xml, ci-dessous sont des règles de cartographie servlet dans web.xml (sources de ce sont - Servlet specs et @BalusC answer):
1. cartographie Path:
Si vous voulez créer un mappage de chemin puis lancez le wi mapping e /
et se terminera /*
. Par exemple:
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/foo/bar/*</url-pattern> <!-- http://localhost:7001/MyTestingApp/foo/bar/index.html would map this servlet -->
</servlet-mapping>
2. mappage d'extension:
Si vous voulez créer un mappage d'extension ont ensuite mappage de servlet *.
. Par exemple:
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>*.html</url-pattern> <!-- http://localhost:7001/MyTestingApp/index.html would map this servlet. Also, please note that this servlet mapping would also be selected even if the request is `http://localhost:7001/MyTestingApp/foo/index.html` unless you have another servlet mapping as `/foo/*`. -->
</servlet-mapping>
3. mappage de servlet par défaut:
Supposons que vous souhaitez définir que si un mappage ne correspond pas à la cartographie servelt alors il devrait être mappé à la servlet par défaut, le mappage de servlet est alors /
. Par exemple:
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/</url-pattern> <!-- Suppose you have mapping defined as in above 2 example as well, and request comes for `http://localhost:7001/MyTestingApp/catalog/index.jsp` then it would mapped with servlet -->
</servlet-mapping>
4.mappage de correspondance exacte:
Supposons que vous souhaitez définir la cartographie de correspondance exacte alors ne pas utiliser un caractère joker ou quelque chose, et définir la correspondance exacte, comme /catalog
. Par exemple:
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/catalog</url-pattern> <!-- Only requests with http://localhost:7001/MyTestingApp/catalog will match this servlet -->
</servlet-mapping>
5. cartographie racine du contexte d'application:
La chaîne vide ""
est un modèle d'URL spéciale qui mappe exactement à la racine de contexte de l'application . c'est-à-dire, demandes du formulaire http://localhost:7001/MyTestingApp/
.
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern></url-pattern> <!-- Only requests with http://localhost:7001/MyTestingApp/ will match this servlet Please note that if request is http://localhost:7001/MyTestingApp/abc then it will not match this mapping -->
</servlet-mapping>
6. match tout cartographie:
Si vous voulez faire correspondre toutes les demandes à un mappage ou remplacer tous les autres mappage de servlet puis créez un mappage comme /*
.
<servlet-mapping>
<servlet-name>FileServlet</servlet-name>
<url-pattern>/*</url-pattern> <!-- This will override all mappings including the default servlet mapping -->
</servlet-mapping>
Ci-dessous le schéma récapitulatif de la spécification JMS:
Pas vraiment comprendre votre problème ... –