import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class Login {
/** 转发 **/
@RequestMapping("/login.do")
public String login(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("message", "hello");
return "forward:/index.do"; // forward在跳转后可以取到message值
}
@RequestMapping("/index.do")
public String index(HttpServletRequest request, HttpServletResponse response) {
return "welcome";
}
/** 重定向 **/
@RequestMapping("/logout.do")
public String logout(HttpServletRequest request, HttpServletResponse response) {
request.setAttribute("message", "hello");
return "redirect:/register.do"; // redirect在跳转后无法取到message值
}
@RequestMapping("/register.do")
public String register(HttpServletRequest request, HttpServletResponse response) {
return "register";
}
}
另外forward跳转后地址栏URL不会改变 而redirect会改变
测试URL:
http://localhost:8080/spring_forward/login.do
http://localhost:8080/spring_forward/logout.do