我正在使用java 1.7在Eclipse Mars 2中开发多个Web应用程序。我使用Maven构建文件并使用jboss(WildFly)插件测试它们。他们每个人都使用web.xml并共享其90%的逻辑。它们都使用spring,它们都使用相同的会话配置,相同的过滤器等。区别在于授权检查和安全角色。
最近我不得不做一些更新,分别更新所有web.xml是一种负担。我正在寻找一个定义" web.xml"的解决方案。包含所有常用逻辑的父文件或主文件,然后注入小的特定部分。我有什么选择?
答案 0 :(得分:1)
我会尽可能多地从web.xml中移动到类的注释中。例如,在过滤器上,您可以执行以下操作:
import javax.servlet.Filter;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
@WebFilter(filterName = "TimeOfDayFilter",
urlPatterns = {"/*"},
initParams = {
@WebInitParam(name = "mood", value = "awake")})
public class TimeOfDayFilter implements Filter {
(摘自here)
通过这种方式,您已将web.xml中完成的大部分传统配置移动到Java类中。使用servlet也可以做同样的事情。
请注意,这并不总是正确的答案。例如,在过滤器中,如果您使用的是web.xml,则可以仅对它们进行排序(即,有一系列过滤器)。但是你越能离开web.xml就越好。