????为了让自己,也让更多初学者了解这三者之间的区别,在以后的开发工作中正确的、高效的应用,特此整理了一下,初次写文章,有写的不对的地方欢迎大家指正,共同学习,共同进步:
?
?1、forward()方法,它是RequestDispatcher接口中的方法,是客户通过浏览器提交请求,servlet1接到请求,想通过servlet2对客户端的请求进行响应,调用forward()方法,将请求转发给servlet2进行处理,servlet2对请求做出响应。
?
2、sendRedirect()方法,它是HttpServletResponse接口的方法,是客户通过浏览器提交请求,servlet1接到请求,想让servlet2为客户端服务,调用sendRedirect()方法,将客户端的请求重定向到servlet2,浏览器重新访问servlet2,servlet2对客户端的请求做出响应。
?
?
3、include()方法,它是RequestDispatcher接口中的方法,是客户通过浏览器提交请求,servlet1接到请求,想通过servlet2对客户端的请求进行响应,调用include()方法,将请求转发给servlet2进行处理,处理完成后,执行权交由servlet1继续执行下面的语句。
?
?
????????? 简短来说,servlet接到客户端的请求,如果是forward(),就是把这个请求交给其他的servlet进行处理,自己执行终止;如果是include(),还是把请求交给其他servlet进行处理,自己仍然可以执行自己的任务;如果是sendRedirect(),就是告知客户端,我把你的请求已经交给了其他的servlet了,你去访问它吧,访问我没用了。