用forward方法实现请求转发
2012-10-30 14:28
429 查看
forward方法用于将请求转发到RequestDispatcher对象封装的资源,Servlet程序在调用这个方法进行转发之前可以对请求进行一些前期的预处理。
如果在调用forward方法之前,在Servlet程序中写入的部分内容已经被真正地传送到了客户端,forward方法将抛出IllegalStateException异常。
调用RequestDispatcher.forward方法时,Servlet容器将根据目标资源路径对当前HttpServletRequest对象中的请求路径和参数信息进行调整。
如果在调用forward方法之前向Servlet引擎的缓冲区中写入了内容,只要写入到缓冲区中的内容还没有被真正输出到客户端,forward方法就可以被正常执行,原来写入到输出缓冲区中的内容将被清空,但是,已写入到HttpServletResponse对象中的响应头字段信息保持有效。
如果调用者与被调用者的访问URL不属于同一个目录,当被调用者输出的内容中包含有使用相对URL的访问路径时,原来相对被调用者的URL将变成相对于调用者的URL。
如果在调用forward方法之前,在Servlet程序中写入的部分内容已经被真正地传送到了客户端,forward方法将抛出IllegalStateException异常。
调用RequestDispatcher.forward方法时,Servlet容器将根据目标资源路径对当前HttpServletRequest对象中的请求路径和参数信息进行调整。
如果在调用forward方法之前向Servlet引擎的缓冲区中写入了内容,只要写入到缓冲区中的内容还没有被真正输出到客户端,forward方法就可以被正常执行,原来写入到输出缓冲区中的内容将被清空,但是,已写入到HttpServletResponse对象中的响应头字段信息保持有效。
如果调用者与被调用者的访问URL不属于同一个目录,当被调用者输出的内容中包含有使用相对URL的访问路径时,原来相对被调用者的URL将变成相对于调用者的URL。
相关文章推荐
- HttpServletResponse.sendRedirect方法实现的请求重定向与RequestDispatcher.forward方法实现的请求转发的总结比较
- vue.js中proxyTable 转发请求的实现方法
- 请求forward、include和redirect的实现方法和区别
- javaweb之request请求转发forward方法的细节
- JAVA 的服务器重定向:使用forward()方法转发请求和使用 sendRedirect()方法重定向的区别
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- JAVA 的服务器重定向:使用forward()方法转发请求和使用 sendRedirect()方法重定向的区别
- 在PHP中使用CURL实现GET和POST请求的方法
- 重写ajax方法实现异步请求session过期时跳转
- HttpServletRequest、request常用方法、request常见应用、请求转发、RequestDispatcher
- 使用methodSignatureForSelector与forwardInvocation实现消息转发
- springMVC使用HandlerMethodArgumentResolver 自定义解析器实现请求参数绑定方法参数
- 使用HttpClient实现请求转发功能
- haproxy,能够实现将来自用户的80端口的http请求转发至后端8000上的server服务
- jQuery实现监控页面所有ajax请求的方法
- vue.js实现请求数据的方法示例
- Servlet 实现包含外部文件和转发请求
- Spring mvc (四) [继承MultiActionController实现以方法为单位的controller][配置2种请求的指定方式]
- Spring3.1.0实现原理分析(十七).MVC请求处理方法参数解析器和返回值解析器