java - 动态 Web 应用程序 - 具有组件的平台

标签 java spring tomcat

我正在研究如何为我的 Web 应用程序构建合适的结构。 它将是一个 Web 应用程序,作为附加的独立组件的平台。 组件必须能够使用@Controller 注释映射请求。

到目前为止,我了解到:

该平台将作为 .war 文件部署在 Tomcat 上。 平台类路径位置将包含 .jar 文件形式的组件。

我的问题是:

  • 如何设置组件和平台,以便平台使用组件的@Controllers?

到目前为止,我已经在 Tomcat 上运行了 platform.war。它是基于注解的 Spring 配置。

我还有第一个组件,它是一个带有@Controller 注释和第一个映射的Java 类。出于某种原因,当我将此组件包含在平台的类路径中并尝试访问组件中映射的 url 时,应用程序返回 404 错误。在日志文件中,它显示“未找到 HTTP 请求的映射”,因此它不会初始化组件的 @Controller。

For further explanation click here .

最佳答案

在您的 JAR 文件中,创建一个定义您的命名空间的包,即:“com.platformproject.web”。然后你需要做的就是将 JAR 文件放在 WEB-INF/lib 中(或者更好地使用 Maven Modules )并在启动时扫描注释:

MvcConfig.java

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = { "com.platformproject.web" })
public class MvcConfig extends WebMvcConfigurerAdapter { ... }

关于java - 动态 Web 应用程序 - 具有组件的平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32425676/

相关文章:

java - 从现在开始每 14 分钟运行一次 Quartz cron 表达式

java - 如何使用SVN在线备份代码

java - 避免使用 BigDecimal 的科学记数法

java - 正确的 ApplicationContext 用法?

jakarta-ee - 在 Tomcat、WebLogic、Glassfish 等中使用哪个 MBeanServer?

oracle - 在 JDBC 连接中使用 TNS 名称和服务名称的区别

java - 在 JDK 8 中,Nashorn 和新的 JSON-P (javax.json) API 之间是否有计划的互操作性?

spring - 是否可以在 ${...} 表达式中传递 NULL 作为参数?

spring - 如何将 Spring bean 注入(inject) JSF 转换器

java - tomcat 的 OpenAm 代理无法读取 authservice url?