我正在使用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)?
答案 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");
}
}