搜索
首页 电脑/网络 软件

怎样通过ServletContext获取RequestDispatcher对象实现页面跳?

怎样通过ServletContext获取RequestDispatcher对象实现页面跳转

全部回答

2018-04-05

0 0
    Servlet的页面跳转有三种方法: requestDispatcher 在ServletContext和ServletRequest中获取RequestDispatcher都是通过方法RequestDispatcher getRequestDispatcher(String path),但是需要注意这个方法在用不同的类调用的时候存在一些差异,使用ServletContext接口的对象调用时,String path的参数必须以”/”开头,也就是说从这个web项目的根开始。
    而使用ServletRequest接口的对象调用这个方法时,path可以不以”/”开头,简单的说就是可以使用相对于当前请求的相对路径 (1)void forward(ServletRequest request, ServletResponse response) 使用方法: RequestDispatcher rd = this。
    getServletContext()。getRequestDispatcher("/AfterForward"); rd。forward(req, resp);  相应说明:"AfterForward"为Servlet类名 相应总结:   1。
    forward会显示forward后的页面的内容   2。forward调用后浏览器的url不会变化   3。forward后的页面和原页面的request为同一对象 (2)void include(ServletRequest request, ServletResponse response) 使用方法:   RequestDispatcher rd = req。
    getRequestDispatcher("InInclude");   rd。include(req, resp); 相应总结:   1。include会显示原页面中include的地方显示include的Servlet输出的内容   2。
  forward调用后浏览器的url不会变化   3。  forward后的页面和原页面的request为同一对象   InInclude无法输出一个完整的html页面,它只是输出一部分东西而已 HttpResponse (3) void sendRedirect(String location) 使用方法:   resp。
    sendRedirect("AfterSendRedirect"); 相应总结:   1、 html页面会显示location所输出的页面   2、 浏览器上的url也为location的绝对路径   3、 原servlet调用sendRedirect方法后,剩下的代码也会执行   4、 原servlet和跳转至的servlet的HttpServletRequest对象不是同一个对象。
    。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报