Spring Boot(使用tomcat)url重定向没有模板引擎

时间:2014-11-07 14:48:30

标签: tomcat spring-boot

我正在使用Spring Boot作为我的网络服务&网络应用。现在我不想从我的网络服务器自动重定向从前。 www.mypage.com:8080到www.mapage.com:8080/index.html。

我不想使用任何像Thymeleaf这样的模板引擎,所以我不能通过@RequestMapping在控制器中执行此操作,因为使用@RequestMapping返回String实际上会将该字符串作为文本打印而不是获取文件并呈现它。 / p>

我还创建了root url +后缀(例如www.mypage.com:8080/page2.html),通过添加“.addResourceHandler(”/ **“)来使用resources / templates目录作为源.addResourceLocations( “/”,“classpath:/ templates /”)“。手动输入www.mypage.com:8080/index.html或www.mypage.com:8080/page2.html后会显示正确的页面。

所以我问有没有办法将www.mypage.com映射到mypage.com/index.html,还有其他网页如www.mypage.com:8080/page2.html正常工作,那就是根页面(/)仍然看资源/模板目录? 也许重定向或某些东西会有所帮助(使用tomcat 7和spring boot)?

2 个答案:

答案 0 :(得分:0)

您不使用模板引擎,因此我假设您的HTML文件是静态文件。为了实现您的目标,请将HTML文件放入目录src/main/resources/static/。在您的情况下,将文件index.html放到此文件夹中,只需致电http://<domain>/index.html即可立即使用。

要从http://<domain>/创建控制器,重定向到此文件:

@Controller
public class HomeController {
    @RequestMapping(value="/")
    public String index(){
        return "redirect:/index.html";
    }    
}

不需要添加资源处理程序等其他更改。

答案 1 :(得分:0)

请做:

@Controller
@RequestMapping("/")
public class RedirectController {

    @GetMapping("/forwardWithForwardPrefix")
    public ModelAndView redirectWithUsingForwardPrefix() {
        return new ModelAndView("forward:/redirectedUrl");
    }
}