我在网上搜索了我的问题,但许多答案与Spring MVC有关,这些答案不符合我的期望。我使用Maven,我想使用普通的java,而不是像Spring等任何框架。
我正在尝试构建一个java动态Web应用程序项目,我将项目拆分为2部分SubProject(子项目名称)和MainProject(主项目名称)(实际上是主项目由5个子项目组成,但与我的问题无关,所以我简化了案例)。我想将SubProject视为MainProject的库,所有项目都可以使用Maven构建。 SubProject不是动态Web应用程序项目,因此它没有部署描述符web.xml,MainProject是一个带有web.xml的动态Web应用程序项目。
现在假设我在SubProject的com.my.package包中编写了一个java过滤器MyFilter.java,我需要在MainProject的web.xml中配置它,以便MyFilter可以用于某些url模式。出现问题是因为我不知道如何将SubProject中的源包包含到web.xml中的MainProject中。
通过在spring.xml中包含以下配置,我知道如何在Spring MVC中执行此操作:
<context:component-scan base-package="com.my.package" />
其中com.my.package是SubProject中的源包。同样在web.xml中,包括:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
由于我不想使用Spring框架,我正在寻找一些方法来配置我的web.xml,类似于我在spring.xml中所做的。有没有人知道如何将子项目中的源包(和类)包含到java Web应用程序中的主项目中?
答案 0 :(得分:0)
如果您执行以下操作:
<packaging>war</packaging>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>groupId.of.SubProject</groupId>
<artifactId>SubProject</artifactId>
<version>x.x.x</version>
</dependency>
</dependencies>
您可以在MainProject的web.xml中使用SubProject中的过滤器:
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.my.package.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>