Javaservlet映射
我在web.xml中定义了一个servlet:Javaservlet映射,java,exception,servlets,servlet-filters,Java,Exception,Servlets,Servlet Filters,我在web.xml中定义了一个servlet: <servlet-mapping> <servlet-name>SessionRebindServlet</servlet-name> <url-pattern>*.ppp</url-pattern> </servlet-mapping> 和在过滤器代码中: String url = ((HttpServletRequest) request).getRequestU
<servlet-mapping>
<servlet-name>SessionRebindServlet</servlet-name>
<url-pattern>*.ppp</url-pattern>
</servlet-mapping>
和在过滤器代码中:
String url = ((HttpServletRequest) request).getRequestURI();
if (url.contains("popup.ppp")) {
} else {
chain.doFilter(request, response);
}
我将其用于此类情况:
String lPath = ((HttpServletRequest) request).getRequestURI();
if (lPath.startsWith("/supported")) {
chain.doFilter(request, response);
} else {
// not supported
}
不,您不能使用
元素执行此操作。有关所有选项,请参见
您不能映射到
/somepath/*.ppp
,这样它就不会干扰popup.ppp
或调用popup.ppp
其他内容吗?使用过滤器,只需覆盖过滤器中的doFilter()方法:字符串url=request.getRequestURL().toString()
然后使用此url并与popup.ppp进行比较,它不等于doFilter() 或
试试这个(我还没有检查过这个)
会话重新绑定servlet
*.ppp
newServletName
popup.ppp
您可以在SessionRebindServlet中添加逻辑,以忽略“popup.ppp”请求。他不是在谈论过滤器。实际上,这是有效的。我添加了一个过滤器,并按照@stefan Be所说的做了。谢谢。他不是在说过滤器。是的,使用过滤器作为一种工作方法当然有效。谢谢你澄清你的答案。
String lPath = ((HttpServletRequest) request).getRequestURI();
if (lPath.startsWith("/supported")) {
chain.doFilter(request, response);
} else {
// not supported
}
<servlet-mapping>
<servlet-name>SessionRebindServlet</servlet-name>
<url-pattern>*.ppp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>newServletName</servlet-name>
<url-pattern>popup.ppp</url-pattern>
</servlet-mapping>