是否可以更改 init 参数以便在不同的路径创建 servlet?我需要在某个路径创建一个servlet。另外,是否可以人为地传递初始化参数中的路径?
最佳答案
正如其他答案中已经显示的,servlet 映射不受 servlet 控制,因此您无法从 servlet 实例中更改它。
但是,您可以通过引入一定程度的间接性(类似于“调度程序”Servlet)来解决此问题:将您的 Servlet 映射到通配符模式(例如 /app/*
)并在您的内部servlet 根据请求的 url 路径决定实际操作:/app/X
将触发一些 X 操作,而 /app/Y
将触发 Y。
许多 Web 框架将提供开箱即用的完整功能:例如,您可以查看 Spring MVC 的 DispatcherServlet
及其 HandlerMapping
概念。
关于java - 更改 Init() 上的 servlet 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18893005/