我将Spring Boot用于我的web服务和web应用程序。现在我不想让我的web服务器自动从ex重定向。www.mypage.com:8080到www.mapage.com.
我不想使用像Thymeleaf这样的模板引擎,所以我不能通过控制器中的@RequestMapping做到这一点,因为使用@RequestMapping的方法返回字符串实际上会将字符串打印为文本,而不是获取文件并呈现它。
我还制作了root url +后缀(例如。通过添加".addResourceHandler("/**").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 work,也就是根页面(/),以便仍然在资源/模板目录中查找?也许重定向之类的东西会有帮助(使用Tomcat7和spring boot)?
发布于 2014-11-07 18:32:33
您不使用模板引擎,所以我假设您的HTML文件是静态文件。为了实现您的目标,请将HTML文件放入src/main/resources/static/
目录。在您的示例中,只需调用http://<domain>/index.html
,将文件index.html
放到此文件夹中,它就会立即可用。
要从http://<domain>/
创建控制器重定向到此文件,如下所示:
@Controller
public class HomeController {
@RequestMapping(value="/")
public String index(){
return "redirect:/index.html";
}
}
不需要任何其他更改,如添加资源处理程序。
发布于 2018-05-08 22:08:00
请执行以下操作:
@Controller
@RequestMapping("/")
public class RedirectController {
@GetMapping("/forwardWithForwardPrefix")
public ModelAndView redirectWithUsingForwardPrefix() {
return new ModelAndView("forward:/redirectedUrl");
}
}
https://stackoverflow.com/questions/26803797
复制