`
linxuexin
  • 浏览: 26255 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Servlet中转发和重定向的路径问题

    博客分类:
  • JAVA
阅读更多

Servlet中有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获得;

重定向的方法只有一种:HttpServletResponse的sendRedirect()方法。

这三个方法的参数都是一个URL形式的字符串,但在使用相对路径或绝对路径上有所区别。

 

HttpServletResponse.sendRedirect(String)

参数可以指定为相对路径、绝对路径或其它Web应用。

假设通过http://localhost/myApp/cool/bar.do请求到达该方法所属的Servlet。

相对路径:response.sendRedirect("foo/stuff.do")

容器相对于原来请求URL的目录加参数来生成完整的URL——http://localhost/myApp/cool/foo/stuff.do。

绝对路径:response.sendRedirect("/foo/stuff.do")

容器相对于Web应用本身加参数建立完整的URL——http://localhost/foo/stuff.do。

其它Web应用:response.sendRedirect("http://www.iteye.com")

容器直接定向到该URL。

 

HttpServletRequest.getRequestDispatcher(String)

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

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

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

request.getRequestDispatcher("/foo/stuff.do")生成的URL是http://localhost/myApp/foo/stuff.do

 

ServletContext.getRequestDispatcher(String)

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

分享到:
评论

相关推荐

    servlet+jsp练手小项目

    适合初学者进行项目的练手,可以帮助我们熟悉servlet+jsp的项目流程,掌握转发,重定向,路径等问题,有助于后面框架的学习,而且项目并不复杂,主要是锻炼大家的思路,让我们可以熟悉servlet和jsp

    C-ATM.zip jsp+servlet 项目【练手/总结/巩固】

    1. 在JavaWeb中,页面跳转有两种方式:重定向和转发。 2. 重定向是通过发送特定的HTTP响应码告知浏览器请求的资源已被移到新的URL上,浏览器接收到响应后会重新发送请求到新的URL地址,因此URL路径会改变。 3. 转发...

    理解Java Web项目中的路径问题

    本文以项目部署在tomcat服务器为例,其他相信也是一样的。  先说明请求页面的写法,在...  以访问目录中index.jsp文件为例,jxf.path.PathServlet.jave中对以上四种路径的写法(红色部分) 1 package jxf.path; 2

    网上购物车

    基于EL,JSTL,Jq,Js,ajax,servlet,jdbc的网上购物车项目:实现基本的crud,分页操作,简单验证,查询验证,涉及到 绝对路径,相对路径,转发,重定向,排序

    JavaWeb实战开发

    请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题? ? ?4.session与cookie问题及application、cookie补充说明及四种范围对象作用域? ? ?5.JDBC原理及使用Statement访问...

    Python Cookbook

    13.13 网络端口的转发和重定向 489 13.14 通过代理建立SSL隧道 492 13.15 实现动态IP协议 495 13.16 登录到IRC并将消息记录到磁盘 498 13.17 访问LDAP服务 500 第14章 Web编程 502 引言 502 14.1 测试CGI...

    Java学习笔记-个人整理的

    {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {...

    Struts in Action中文版

    2.3.3. Servlet 框架.........................................................................................................44 2.3.4. 黑盒-白盒统一体.....................................................

    struts in Action

    2.3.3. Servlet 框架.........................................................................................................44 2.3.4. 黑盒-白盒统一体......................................................

Global site tag (gtag.js) - Google Analytics