我需要在web.xml中使用此URL映射来解决此问题,以创建带有字母的网址,后跟“_”后跟任意字母数字字符组合。
我想将servlet映射到这样的东西:
/something_*
而不是:
/something/*
为不同的JSP使用不同的“事物”。示例:
/search_Something-I-searched-for
我尝试使用:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/something_*</url-pattern>
</servlet-mapping>
但这似乎不起作用。 This answer告诉我我不能在web.xml中执行此操作,因此可能有一些解决方法。
我不知道这些信息是否重要,但我在我的项目中使用JBoss和Struts2。
答案 0 :(得分:5)
将servlet映射到包含目录。在该servlet中,将URL路径和forward拆分为相应的named servlet。
答案 1 :(得分:0)
为什么不尝试Spring MVC Framework。 Spring可以提供你想要的url映射。
@RequestMapping(value="/something_{name}", method=RequestMethod.GET)
public String demo(@PathVariable(value="name") String name, ModelMap map) {
String something = name;
// Do manipulation
return "something"; // Forward to something.jsp
}