Java 在Spring中返回不带重定向的静态html

Java 在Spring中返回不带重定向的静态html,java,spring-mvc,Java,Spring Mvc,所以我想返回一个HTML页面而不发送重定向。原因是使用重定向会更改浏览器中的URL,如果某人未登录,我无法将其重定向到登录。最直接的方法是什么?似乎不需要使用jsp或其他服务器端视图技术,它应该很简单。您可以使用转发 例如: 假设/static/myWebpage.html是您的静态html页面 此代码将返回myWebpage.html的内容,而不更改url @Controller @RequestMapping("/path") public class TestingController {

所以我想返回一个HTML页面而不发送重定向。原因是使用重定向会更改浏览器中的URL,如果某人未登录,我无法将其重定向到登录。最直接的方法是什么?似乎不需要使用jsp或其他服务器端视图技术,它应该很简单。

您可以使用
转发

例如:

假设
/static/myWebpage.html
是您的静态html页面

此代码将返回
myWebpage.html
的内容,而不更改url

@Controller
@RequestMapping("/path")
public class TestingController {
    @RequestMapping("/page")
    public String someOtherPage(HttpServletRequest request, HttpServletResponse response) {
        return "forward:/static/myWebpage.html";
    }
}
同样,您的url将是“localhost/path/page”,但您将查看“localhost/static/myWebPage.html”

给出的答案对于大多数Spring配置都是正确的。其他时候,您只会得到一个
内容类型:text/plain
网页,其中转发信息作为文本。您必须明确地将转发信息传递给
ModelAndView

@Controller
@RequestMapping("/path")
public class TestingController {
    @RequestMapping("/page")
    public ModelAndView someOtherPage(HttpServletRequest request, HttpServletResponse response) {
        return new ModelAndView("forward:/static/myWebpage.html");
    }
}

该死,我以为我已经试过了。哦,那是丢失的那一块。谢谢