2009-11-25 5 views
3

Je voudrais utiliser ce genre de modèle pour mon application Java Web:modèle d'URL web.xml question correspondant pour Tomcat

<url-pattern>/*/test.html</url-pattern> 

puis analyser l'URL dans le servlet pour obtenir ce que la valeur de l'étoile est, et utiliser cette valeur pour interroger une table différente dans la base de données.

Cependant, cela semble être un modèle illégal pour Tomcat. Y a-t-il un moyen d'y parvenir sans avoir à coder en dur le bit entre les barres obliques?

(exemple utilise dans le cas où vous vous demandez quel est le contexte: /vancouver-hotel/rooms.html, /seattle-hotel/rooms.html)

Répondre

0

fait facilement avec un paramètre GET:

http://localhost:8080/rooms?city=vancouver 
+1

Non SEO friendly. Les paramètres de requête sont ignorés. – BalusC

+0

Mappez tout dans les pièces et laissez le servlet trier les éléments après avoir extrait la ville des paramètres de requête. – duffymo

3

la meilleure façon est de réorganiser la structure de votre URL à un /hotels/<cityname> nd laisser un HotelServlet écouter /hotels/* et obtenir le <cityname> comme pathinfo en utilisant request.getPathInfo(). Vous pouvez utiliser les méthodes java.lang.String habituelles pour analyser plus loin le pathinfo. Par exemple un split("/") puis en stockant les pièces en tant qu'attribut de requête ou autre chose auquel les objets métier/domaine peuvent accéder.

Questions connexes