我正在尝试找出将spring application context XML
文件(映射服务Bean)放在IntelliJ
生成的Spring MVC
模板中的位置。如果我把它放在WEB-INF
文件夹中,当我在dispatcher servlet XML
文件中导入XML时会抱怨它。如果我把它放在webapp文件夹中,tomcat会抱怨它无法在WEB-INF
文件夹中找到它。那么我实际上把它放在哪里呢?
IntelliJ
应用为Spring MVC
应用生成的模板在webapp dir
内有一个'pages'文件夹。我是否必须将jsps
放在那里或放在WEB-INF
文件夹中,就像在Eclipse中一样?在Tomcat
?
答案 0 :(得分:2)
在 web.xml 中,您提到了 contextConfigLocation ,其中提到了上下文读取的资源的位置和名称。该元素应包含XML文件的路径和名称。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:com/some/path/applicationContext.xml classpath:dbContext.xml
</param-value>
</context-param>
现在 dbcontext.xml 直接位于类路径下,而applicationContext位于文件夹heirarchy com / some / path
的类路径中当构建应用程序时,classess通常会进入 WEB-INF / classes 目录。因此,如果使用上面的配置进行战争,dbContext将在类dir下。 通常,在项目中创建另一个源文件夹可能是个好主意。将其命名为资源或配置,并将配置文件放在那里。
这有帮助吗?
答案 1 :(得分:0)
您可以将其保留在类路径中,并在web.xml中进行以下配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
org.springframework.web.context.ContextLoaderListener 在maven项目中,我们将其保存在资源文件夹中。
答案 2 :(得分:0)
您可以将spring-context
文件放在存在dispatcher-servlet
的同一目录中,也可以在web-inf中创建新目录,例如spring,因为您可以放置spring-context
文件。 / p>
假设您已将spring-context
放在spring directory
内,那么您可以将其称为:
<import resource="spring/spring-context.xml"/>
dispatcher-servlet.xml
中的。
看看这是我的弹簧应用结构并且工作得很好:
还有一些问题然后发布给我。