如何在服务器上运行servlet而不将其放在web.xml中。我想从main启动一个服务器并传递它应该运行的servlet 谢谢
答案 0 :(得分:1)
这完全取决于您正在使用的服务器。如果它是Jetty之类的嵌入式服务器,那么您可以轻松地在ServletHolder
的风格中执行此操作。
context.addServlet(new ServletHolder(new HelloServlet()),"/*");
如果是其他,那么您需要查阅相关服务器的文档。在Tomcat,Glassfish等不可嵌入的服务器中通常是不可能的。
更新:根据您问题的评论,您毕竟正在寻找错误方向的解决方案。重新读取MVC模式,更具体地说,重新读取前端控制器模式。您不应该将servlet用作域对象,而只应使用不扩展HttpServlet
的简单可构造Java类。最后,您最终得到一个servlet,它根据当前请求构造/选择正确的域对象。您可以在this answer中找到一些见解和基本启动示例。