在用JSP+Servlet开发实现跳转的时候遇到了一个问题,我在Action类里实现了对DAO的操作并且返回的数据是正确的(即在代码中的list中保存)。为了调错我把list的数据打印出来(是实例的引用),也把path变量打印出来,路径检查了没有错,但是在跳转的时候却跳转到别的页面。
(注:不管我怎么改path的内容,跳转到的都是同一个页面,这个页面在我的项目中是存在的,不知道是不是绑定了?还是别的什么原因)
之前没有遇到过这种情况有没有大佬知道这是怎么回事。非常感谢!!!
解决之后---------------------------------------------------------------------------------
在网上搜索了一大堆,但是大都是关于重定向和请求转发的区别,没有关于这个的解决方法。自己仔细的研究了请求转发和重定向的区别之后,看到了一个大佬的博客:
请求转发后,浏览器的URL仍然指向的是开始页面,你想要继续转发并跳转到下一个页面,那么事实上调用的还是你地址栏里的URL所指向的页面,因此在开发项目的时候一定要注意!
我的项目事实上是请求转发了两个页面,URL没有变,我以为会跳转到下一个页面,但其实调用的仍然是上一个页面,因此会出现不管怎么修改Path里的URL结果都是一样的!
我的解决办法:
在跳转到这个页面的时候通过超链接(也就是重定向)来实现,既可以改变URL又可以传参!
记录下来,希望能帮助有需要的人,同时也避免以后自己再犯同样的错误!