Java 使用定制的面向Servlet的框架,太多的Servlet,这是一个问题吗

Java 使用定制的面向Servlet的框架,太多的Servlet,这是一个问题吗,java,servlets,jakarta-ee,Java,Servlets,Jakarta Ee,在我们的应用程序中,我们通过Servlet构造不同的web应用程序。我们的应用程序中有很多servlet和过滤器 我们已经使用了不同的框架,但不适用于这个特定的遗留web应用程序。一个问题是一个应用程序/servlet与另一个应用程序/servlet完全分离 如果要重新设计使用这种遗留设计的应用程序,您将如何解决应用程序被太多servlet破坏的问题 我正在考虑一种“Servlet管理器”,它可以对一组Servlet进行分组,然后在适当的时候调用适当的Servlet。Spring可以将请求委托给

在我们的应用程序中,我们通过Servlet构造不同的web应用程序。我们的应用程序中有很多servlet和过滤器

我们已经使用了不同的框架,但不适用于这个特定的遗留web应用程序。一个问题是一个应用程序/servlet与另一个应用程序/servlet完全分离

如果要重新设计使用这种遗留设计的应用程序,您将如何解决应用程序被太多servlet破坏的问题


我正在考虑一种“Servlet管理器”,它可以对一组Servlet进行分组,然后在适当的时候调用适当的Servlet。

Spring可以将请求委托给现有的遗留Servlet(使用or),如果您希望这样做的话


因此,您可以在遗留servlet的前面安装一个Spring
DispatcherServlet
,充分利用Spring的请求路由功能。Spring还可以为您提供更方便地在servlet之间共享内容的功能,但可以为您将共享组件放在servlet上下文中。

Spring可以将请求委托给现有的遗留servlet(使用or),如果您希望这样做的话


因此,您可以在遗留servlet的前面安装一个Spring
DispatcherServlet
,充分利用Spring的请求路由功能。Spring还可以让您更容易地在servlet之间共享内容,但可以将共享组件放在servlet上下文中。它归结为拥有一个控制请求的servlet。在servlet中,您需要查找与特定请求相关联的操作(只是一个业务/域对象),然后执行它

基本伪示例:

protected void processRequest(request, response) {
    Action action = ActionFactory.getAction(request);
    action.execute(request, response);
}
您可以使用原始的
url模式
s返回所需的
操作
ActionFactory
可以保存一个
Map
,其中的键小于或大于原始的
url模式
。您可以使用
request.getPathInfo()
来确定
url模式。您可以在xml或属性文件中维护这些url操作对,或者只遵守实现
操作的类的特殊命名约定。
操作
实现可以使用“原始”servlet编码


但是,如果您愿意使用现有的框架,那么我建议您只采用一个。

查找页面控制器/前端控制器模式。它归结为拥有一个控制请求的servlet。在servlet中,您需要查找与特定请求相关联的操作(只是一个业务/域对象),然后执行它

基本伪示例:

protected void processRequest(request, response) {
    Action action = ActionFactory.getAction(request);
    action.execute(request, response);
}
您可以使用原始的
url模式
s返回所需的
操作
ActionFactory
可以保存一个
Map
,其中的键小于或大于原始的
url模式
。您可以使用
request.getPathInfo()
来确定
url模式。您可以在xml或属性文件中维护这些url操作对,或者只遵守实现
操作的类的特殊命名约定。
操作
实现可以使用“原始”servlet编码

然而,如果您对使用现有框架持开放态度,那么我建议您只采用一个框架