web.xml中servlet映射的URL模式

时间:2009-01-29 14:23:32

标签: java jsp servlets java-ee web.xml

我需要在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。

2 个答案:

答案 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
}

观看此Spring MVC Framework Tutorial