gpt4 book ai didi

java - 根据 Tomcat 上下文更改 servlet 映射

转载 作者:行者123 更新时间:2023-11-28 22:18:37 27 4
gpt4 key购买 nike

我想在特定的 Tomcat 上下文中分配一个不同的默认 servlet。

例如,在我的根上下文中,我想使用以下 servlet 映射:

  <servlet-mapping>
<servlet-name>PageServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

但是当在位于路径 /img-data 的上下文中时,我想使用:

  <servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

这可能吗?

最佳答案

如果您的应用程序在 servlet 3.0+ 容器中运行,您可以使用 ServletContextListener 根据上下文路径动态设置默认 servlet。

public class MyServletContextListener implements ServletContextListener {
@Override public void contextInitialized(ServletContextEvent event) {
ServletContext sc = event.getServletContext();
if ("".equals(sc.getContextPath())) {
ServletRegistration.Dynamic dreg = sc.addServlet("pageservlet", new PageServlet());
dreg.addMapping("");
}
}
}

关于java - 根据 Tomcat 上下文更改 servlet 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32572087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com