学习servlet之间的跳转 随笔mark

Servlet之间的跳转分为两种:

1.转向(转发)

转向是通过RequestDispatcher对象的forward(HttpServletRequest req,HttpServletResponse res) 方法来实现的。RequestDispatcher可以通过HttpServletRequest的getRequestDispatcher()方法获得。例如:

RequestDispatcher dispatcher = request.getRequestDispatcher("/servlet/LifeCycleServlet");

dispatcher.forward(request,response);

getRequestDispatcher()方法的参数必须以"/"开始,"/"表示本Web应用程序的根目录。如果要跳转到Servlet为http://localhost:8080/servlet/servlet/LifeCycleServlet,则参数应为"/servlet/LifeCycleServlet"

Forward不仅可以跳转到本应用的另一个Servlet,Jsp也main也可以跳转到另一个文件,甚至跳转到WEB-INF文件夹下的文件,框架中常用一个Servlet来集中处理请求,然后跳转到相应的Servlet,或者在Servlet中处理业务逻辑,然后跳转到JSP页面中显示处理的结果

2.重定向

重定向是利用服务器返回的状态码来实现的,客户端浏览器请求服务器的时候,服务器端会返回一个状态码,服务器端通过HttpServletResponse的setStatus(int status)方法设置状态码,如果服务器返回的是301或者302,则浏览器回到新的网址重新请求该资源

301、302都表示重定向,区别是301是永久性重定向,302是临时性重定向,重定向到另一个网址:

response.setStatus(HttpServletResponse.SC_MONED_TEMPORAILY);//设置状态码为302

response.setHeader("Location","http://www.baidu.com");//新网址

发布了11 篇原创文章 · 获赞 4 · 访问量 5506

猜你喜欢

转载自blog.csdn.net/qq_34776233/article/details/78517093
今日推荐