我可以将整个web.xml移动到spring代码库配置吗? (WebApplicationInitializer)

时间:2014-11-24 11:50:06

标签: spring spring-mvc web.xml

我的应用程序将主要使用基于代码的配置。从web.xml到Springs WebApplicationInitializer类我已经移动了:servlet,过滤器和映射。但是在web.xml中有更多的元素(例如错误页面或欢迎页面:https://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html)。我可以将哪些元素转移到代码中,以及它们的等价物是什么?

2 个答案:

答案 0 :(得分:0)

通常,是的,您应该能够获得可以在web.xml中设置的所有元素的Java Config等价物。在转换单个元素方面,如果你能给出细节,那么我们就可以找到JavaConfig等价物。

请注意,它并不总是一对一的映射。例如,使用Spring Security,您必须定义" delegatingFilterProxy"在web.xml中过滤,但JavaConfig等效于在幕后执行此操作。使用Spring Security注释会触发该行为。

我推荐两件事:

  1. 如果您还没有完成,请仔细阅读Spring JavaConfig guide
  2. 如果您遇到某个特定元素,请搜索" JavaConfig&#34 ;.通常,您可以通过这种方式快速找到一些有用的信息。

答案 1 :(得分:0)

对于欢迎页面,请按以下步骤操作:

  • 在您的应用程序根目录下,创建一个名为index.html
  • 的html文件
  • 其中声明了一个包含内容的主题部分:<meta http-equiv="Refresh" content="0; URL=anonymous/homepage.htm"/>

现在,当您使用http://myapplication.com访问您的应用时,系统会自动将您重定向到http://myapplication.com/anonymous/homepage.htm。这充当您的索引/欢迎页面

对于错误页面,请按以下步骤操作:

在控制器中:

try
{
}
catch (Exception ex)
{
     return new ModelAndView("error");
}

在views.properties(或等效语句)中定义一个错误页面,如:

error.(class)=org.springframework.web.servlet.view.JstlView
error.url=/WEB-INF/jsp/errorpage.jsp