如何在 Spring Boot 中与 Spring MVC 一起提供遗留的 jsp 页面?
Posted
技术标签:
【中文标题】如何在 Spring Boot 中与 Spring MVC 一起提供遗留的 jsp 页面?【英文标题】:How to serve legacy jsp pages alongside Spring MVC in spring boot? 【发布时间】:2017-10-09 09:45:16 【问题描述】:我有一个遗留项目,其中包含一些简单的 JSP 页面。
我们正在慢慢用 Spring MVC 替换那些 JSP 页面,但我需要继续提供那些尚未用 MVC 模式实现的 JSP,作为一个单独的 Web 应用程序。
所以,我最终应该是这样的:
情况 A: /legacy-url1/index.jsp -> 应该仍然可以像 JSP 页面一样访问,没有控制器。
情况 B: /legacy-url2/index.jsp -> /new-url2/ -> 应该由 spring mvc 控制器提供服务,使用 thymeleaf html 文件填充视图。
情况 B 正在按预期工作,我尝试摆弄 SimpleUrlHandlerMapping 和 UrlFilenameViewController,如下所示:
@Bean
public SimpleUrlHandlerMapping simpleUrlHandlerMapping()
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
Properties urlProperties = new Properties();
urlProperties.put("*.jsp", "urlFilenameViewController");
mapping.setMappings(urlProperties);
return mapping;
@Bean
public UrlFilenameViewController urlFilenameViewController()
UrlFilenameViewController urlFilenameViewController = new UrlFilenameViewController();
urlFilenameViewController.setPrefix("/jsp/");
return urlFilenameViewController;
关于如何做到这一点的任何想法?我可能遗漏了一些东西,但我在谷歌上搜索的答案没有成功。
我正在使用带有 java 配置的 Spring Boot。
感谢任何帮助!
【问题讨论】:
【参考方案1】:define view controllers 可以用于每个旧 JSP 页面,configure 2 view resolvers 可以使用适当的顺序。
【讨论】:
以上是关于如何在 Spring Boot 中与 Spring MVC 一起提供遗留的 jsp 页面?的主要内容,如果未能解决你的问题,请参考以下文章
非法字符导致spring boot微服务构建在docker镜像创建过程中失败
未从 application.properties 中提取 Spring Boot JOOQ sql 方言
Spring Boot:Spring Boot 如何测试打包部署