代码之家  ›  专栏  ›  技术社区  ›  Berlin Brown

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

  •  1
  • Berlin Brown  · 技术社区  · 15 年前

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

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

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

    我在考虑某种“Servlet管理器”,它将一组Servlet分组,然后在适当的时候调用适当的Servlet。

    2 回复  |  直到 15 年前
        1
  •  5
  •   skaffman    15 年前

    Spring具有将请求委托给现有遗留servlet的功能(使用 ServletWrappingController ServletForwardingController

    所以你可以有一个春天 DispatcherServlet

        2
  •  1
  •   BalusC    15 年前

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

    基本伪示例:

    protected void processRequest(request, response) {
        Action action = ActionFactory.getAction(request);
        action.execute(request, response);
    }
    

    你可以用原件 url-pattern 返回所需的 Action . 这个 ActionFactory 可以容纳一个 Map<String, Action> 访问路径 . 你可以利用 request.getPathInfo() 确定 . 您可以在xml或属性文件中维护这些url操作对,或者只是为实现类遵循特殊的命名约定 . 这个 行动

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