java - 更改 Init() 上的 servlet 位置

标签 java servlets

是否可以更改 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/

相关文章:

java - LocaleChangeInterceptor.preHandle 中的对象处理程序有什么用

mysql - 无法使用 Servlet 连接到 MySQL 数据库

java - 如何使用过滤器?

servlets - web.xml 中的 <error-page> 标签没有捕获 java.lang.Throwable 异常

java - Java 路径中的星号

java - 您如何看待一种算法优于另一种算法的地方

java - jvm 对 java 中的标记接口(interface)做了什么

java - 从 TreeMap 克隆对象中删除元素不会从 java 中的主树形图对象中删除

java - 记录url导航历史记录

java - 线程安全的 Servlet