• 服务端跳转、客户端跳转


     1 跳转: 跳转资源
     2 
     3 1.服务端:request.getRequestDispatcher("/one.html").forward(request, response);  通过请求分发器 跳转到指定页面
     4 url地址不变(依然是之前请求服务器的地址)  只访问一次 服务器(页面跳转只是服务器内部在跳,对客户端透明)
     5 
     6 
     7 2.客户端:response.sendRedirect()  重定向
     8 url地址变化 ,跳转页面的地址   访问2次服务器  (把地址发送到客户端浏览器上,并迫使客户端浏览器再次访问服务器)
     9 
    10 
    11 //response.sendRedirect("/Servlet/one.html"); 地址要带上项目名称
    12 //request.getRequestDispatcher("/one.html").forward(request, response);    地址不需要项目名称
    13 
    14 上述的跳转 ,底层依然是Writer w=response.getWriter();    w.write("<!DOCTYPE html><html><head>"  只不过这样的代码 交给tomcat编写了
    15 
    16 如果要想传递动态数据 ,那么跳转html 不可以(html只是静态语言,无法java语言)-- jsp
     1 服务端调转:
     2 request.getRequestDispatcher("successful.html").forward(req,resp);
     3 URL地址无变化,还是在当前文件夹里面
     4 xx/successful.html
     5 /xx/successful.html   都可以成功跳转    加不加/都使用相对路径
     6 
     7 
     8 客户端跳转:                            使用技巧:服务端跳转一律使用相对路径,客户端跳转使用带/的绝对路径
     9 response.sendRedirect("success.html");
    10 迫使客户端再次访问服务端
    11 xx/successful.html
    12 /项目名/xx/successful.html   成功跳转
  • 相关阅读:
    2019年6月4号总结
    2019年5月21号总结
    2019年5月8号总结
    2019年5月6号总结
    2019年5月5号总结
    2019年4月18号总结
    java错误笔记之判断字符知否为空出错
    错误笔记:静态方法不能实例化,直接用类名.方法名调用
    Thymeleaf中"th:each""th:if"的用法解析
    @ResponseBody 表示返回的是josn
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/6089734.html
Copyright © 2020-2023  润新知