zoukankan      html  css  js  c++  java
  • 关于转发和重定向的路径问题!

    关于转发和重定向的路径问题!

    在JavaWEB初学者中转发和重定向的问题一直是个小误区,其实只要弄清楚什么是请求,什么是响应就好理解多了。

    方法/步骤

    1. 1

      首先我们先搞清楚什么是请求什么是响应?

      简单直白的说:

           从客户端--->服务器(Servlet)过程称为请求。由客户端发出比如登录表单操作。

          从服务器---->客户端过程称为响应。服务器向登录表单做出相应结果(无论登录是否成功)

    2. 2

      要明白转发和重定向的区别:

             转发是同次请求(由服务器请求下一个资源)

             重定向是多次请求(由服务器重定向到客户端,由客户端请求下一个资源)

              一句话总结:转发是由服务器发出请求,重定向是由客户端发出请求

    3. 3

      重定向和转发相对路径和绝对路径问题

              注意:转发和重定向的URLString前有加 / 为绝对路径   反之为相对路径

              1.假设通过表单请求指定的Url资源   action="LoginServlet"   

                         则表单生成的请求地址为:

                              http://localhost:8080/项目名/LoginServlet

              2.在servlet处理请求之后重定向到下面指定资源

                             参数可以指定为相对路径或绝对路径或web应用程序。

                               ①相对路径:response.sendRedirect("Manager/index.jsp")

                                       生成的地址:原来请求地址+参数生成完整的URL即:

                                       http://localhost:8080/项目名/Manager/index.jsp                                              

                             ②绝对路径:response.sendRedirect("/Manager/index.jsp")

                            

                                       生成的地址:web服务器本身地址+参数生成完整的URL  即:

                                       http://localhost:8080/Manager/index.jsp

                                      

                             ③其他web应用地址

       response.sendRedirect("http://www.baidu.com")

                                   容器直接定向到该URL。

                            

             3.在servlet处理请求之后转发到以下指定资源

                                    参数可以指定为相对路径或绝对路径。

                            ①相对路径                                                    

                                  相对路径情况下生成的完整URL与重定向方法相同。                             

                             ②绝对路径

                                  绝对路径与重定向不同,容器将相对于Web应用的根目录加参数生成完整的URL

                            

                            生成的地址:  原来请求地址+参数生成完整的URL  即:

                            http://localhost:8080/项目名/Manager/index.jsp

                           转发用相对路径和绝对路径地址都一样。

                                    

                  4. ServletContext.getRequestDispatcher(UrlString)

          

                                       参数只能指定为绝对路径,生成的完整URL与HttpServletRequest.getRequestDispatcher(String)相同。

  • 相关阅读:
    无线路由器wds桥接技术+丢包率
    2016CCPC东北地区大学生程序设计竞赛1008/HDU 5929 模拟
    Codeforces Round #375 (Div. 2) A B C 水 模拟 贪心
    Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) A B C D 水 模拟 并查集 优先队列
    Codeforces Round #310 (Div. 2) A B C
    Codeforces Round #374 (Div. 2) A B C D 水 模拟 dp+dfs 优先队列
    Codeforces Round #313 (Div. 2) A B C 思路 枚举 数学
    Codeforces Round #373 (Div. 2) A B C 水 贪心 模拟(四舍五入进位)
    CentOS7 PostgreSQL 安装
    数据库事务的隔离级别
  • 原文地址:https://www.cnblogs.com/HiJacky/p/5502205.html
Copyright © 2011-2022 走看看