将Java Web应用程序(Struts)置于维护模式的理想方法是什么?

时间:2013-09-08 07:55:02

标签: java web-applications struts maintenance-plan

与所有像wordpress这样的CMS系统一样,Drupal具有维护模式,用户可以看到自定义消息,指示站点已离线进行维护。如何在使用struts创建的Web应用程序中执行此操作?

我的想法:

1)设计具有相同上下文路径的单独Web应用程序,并在维护期间使用它并使原始站点脱机。第二个应用程序仅包含维护页面,对于未找到的页面,它也显示维护页面。

2)将维护模式值放在属性文件或某个xml文件或数据库值中,并在检查它的每个操作调用上,如果是,则重定向到维护模式页面。 (比第一个更好但是已经有很多动作,将花费大量时间在每个动作中插入条件代码,特别是在调度动作文件中,但这将是永久性的内置应用程序解决方案。)

我在找什么?

创建某种全局操作,将每个操作路径重定向到维护页面。

类似的东西:

<action-mappings>
 <action path="/*" forward="/jsp/maintenance.jsp"/>
</action-mappings>

任何想法都会有很大帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

要在维护模式下阻止用户,您需要将用户从正常模式切换到维护模式。拦截所有传入请求并将其重定向到维护模式页面的方法是向Web应用程序添加Servlet过滤器。在Servlet过滤器内部,您需要检查过滤器是处于正常操作模式还是维护模式。

如果过滤器处于正常操作模式,请求将照常传递到Web应用程序。如果过滤器处于维护模式,则应将请求传递到维护消息页面。

以下链接可帮助您在维护模式下配置过滤器:

http://tutorials.jenkov.com/java-web-apps/web-app-maintenance.html