先上张请求分派的原理图:
也就是说,提交的数据在WEB服务器端完成,浏览器端的URL看不出来,不会发生像重定向那样明显的URL地址变化~~
但如果就是这样简单的没变化,谁晓得你到底有没成功的提交你想要提交的数据,就是?后面的一堆堆数据,所以,这里做测试了要~~
代码参考我的上一篇博客:《Servlet的自我理解之4:URL重定向技术的原理与具体实现》
这里只需要把doPost()方法中的代码改为如下,即可:
//获取请求分派器
RequestDispatcher dispatcher = req.getRequestDispatcher("servlet2");
//将请求转发至指定路径的资源
dispatcher.forward(req, resp);
然后,我在浏览器中输入http://localhost:8080/jsp_servlet/servlet1?name=test,可以看到URL并没发生变化,但页面却已经跳转到servlet2,并接受到数据test
参考书目:《JSP基础与案例开发详解》,清华大学出版社