【问题标题】:Spring Boot map .jsp URL to Rest ControllerSpring Boot 将 .jsp URL 映射到 Rest Controller
【发布时间】:2017-05-15 18:42:06
【问题描述】:

由于一些遗留代码限制,我需要将一些以 .jsp 结尾的 url 映射到特定的 rest 控制器并使用 Spring Boot 返回 json 数据。

@RestController
public class MyController {


    @RequestMapping(value = "/someurl/blah/blah/download.jsp", method={RequestMethod.GET})
    public String getFile(@RequestParam("id") String operation, @RequestParam("filename") String filename) {

但是,这未正确映射,我在尝试访问此 url 时收到错误 404。有什么建议?不幸的是,我不得不以这种方式重定向这个jsp,而且现在不能以任何其他方式进行重定向。

【问题讨论】:

  • 你试图到达这个端点的 url 是什么?
  • 好吧,在这种情况下,它将是 localhost:8080/applicationcontext/someurl/blah/blah/download.jsp
  • requestParams 呢?
  • localhost:8080/applicationcontext/someurl/blah/blah/download‌​.jsp?id=dsf&filename=asdf
  • 我用映射的 url 注册了一个新的 Servlet,它现在可以工作了

标签: spring rest jsp spring-boot controller


【解决方案1】:

您需要在Main Class 上添加:

@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MainClass.class);
    }

在你的application.properties这个:

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

使用它您可以映射 JSP 页面的位置,以便 Spring 知道在哪里寻找它们。

【讨论】:

  • 我在这个特定的应用程序中没有 jsp 页面。它只是一堆 Spring Boot Web 服务。其中一项服务需要能够拦截 jsp 页面请求。
  • 答案不相关
猜你喜欢
  • 2012-12-30
  • 2017-12-24
  • 2015-10-04
  • 2019-04-23
  • 1970-01-01
  • 2019-01-22
  • 2018-11-03
  • 2019-07-08
  • 2019-03-04
相关资源
最近更新 更多