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

2025-05-24 07:27:23

1、首先我们先搞清楚什么是请求什么是响应?简单直白的说: 从客户端--->服务器(Servlet)过程称为请求。由客户端发出比如登录表单操作。 从服务器---->客户端过程称为响应。服务器向登录表单做出相应结果(无论登录是否成功)

2、要明白转发和重定向的区别: 转发是同次请求(由服务器请求下一个资源)重定向是多次请求(由服务器重定向到客户端,由客户端请求下一个资源) 一句话总结:转发是由服务器发出请求,重定向是由客户端发出请求

3、重定向和转发相对路径和绝对路径问题 注意:转发和重定向的URLString前有加 / 为绝对路径 反之为相对路径 1.假设通过表单请求指定的Url资源 actio荏鱿胫协n="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)相同。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢