import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/***
* 重定向控制器
*/
@RestController
@RequestMapping("/redirect")
public class RedirectController {
protected final Logger logger = LoggerFactory.getLogger(getClass());
/***
* 重定向1
* 当前页面地址变成重定向的地址
* 结果:地址还是请求地址,页面打印 redirectUrl:http://localhost:8080/redirect/helloWord
*/
@RequestMapping("redirect1")
public String redirect1() {
String redirectUrl = "http://localhost:8080/redirect/helloWord";
String redirect = "redirectUrl:" + redirectUrl;
logger.info("redirect==" + redirect);
return redirect;
}
/***
* 重定向2
* 当前页面地址变成重定向的地址
* 结果:地址变成 redirectUrl,打印helloWord
*/
@RequestMapping("redirect2")
public void redirect2(HttpServletResponse response) throws IOException {
String redirectUrl = "http://localhost:8080/redirect/helloWord";
logger.info("redirectUrl:" + redirectUrl);
response.sendRedirect(redirectUrl);
}
/***
* 重定向3
* 当前页面地址变成重定向的地址
* 结果:地址变成 redirectUrl,打印helloWord
*/
@RequestMapping("redirect3")
public RedirectView redirect3() {
RedirectView redirectView = new RedirectView();
// 301重定向
redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
String redirectUrl = "http://localhost:8080/redirect/helloWord";
logger.info("redirectUrl:" + redirectUrl);
redirectView.setUrl(redirectUrl);
return redirectView;
}
/***
* 打印helloWord
*/
@RequestMapping("helloWord")
public String helloWord(){
logger.info("helloWord");
return "helloWord";
}
}
重定向练习记录
最新推荐文章于 2024-07-10 21:37:49 发布