Response
重定位:相对而言,他比Request可以跳到TomCat服务器以外的地方
- 下面是两者的对比,如:重定位特点的第一句:初次访问的网址会在成功访问后,显示跳转到真正的网页的网址
看注释:
package com.itResponse;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/rep01")
public class ServletResponseDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//告诉浏览器有毛病了,取我下面指定的地方找
response.setStatus(302);
//放在前面的句子将不会执行,因为只有方法全部只想完成后才执行,
// 他大概是被覆盖了,所以最终会跳转到 b 站 !!!
//当然没有第二句话,他将会跳到第一句话的位置,
//也就是Response可以在TomCat服务器内进行访问
response.setHeader("Location","/tomcat-demo01/rep02");
response.setHeader("Location","https://www.bilibili.com");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
上面代码第一句话跳转的位置:
package com.itResponse;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/rep02")
public class ServletResponseDemo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("rep02大显神威!!!");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
关于每一次在代码中写的路径的相关注意事项
虚拟目录可以动态获取,就不用写死了: