通过servlet跳转到含html框架页面出错!

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:28:10
servlet中跳转代码:
RequestDispatcher rd = null;
rd = req.getRequestDispatcher("./admin/index.jsp");
rd.forward(req, resp);
转到页面:
<frameset rows="*" cols="122,649">
<frame noresize src="../admin/menu.jsp" name="menu" />
<frameset rows="27,151" cols="*">
<frame noresize src="/admin/logo.jsp" name="logo" />
<frame noresize src="/admin/content.jsp" name="content" />
</frameset>
</frameset>
首先在servlet中可以转到index.jsp,显示出框架出来,但框架里面的页面就全部找不到,但我如果直接访问index.jsp,就可以正常访问里面3个页面。
通过servlet访问就会找不到。。
是什么原因呢?

你使用的是RequestDispatcher这种方式来进行跳转,这是一种非重定向的方式,地址栏里应该还是你的servlet地址,而不是index.jsp这就是说继承servlet当前的地址,所以找不到。
解决办法1:
在servlet中使用response.sendRedirect()这个方法来进行重定向,
解决办法2:
在index.jsp中不要使用相对路径。

写的地址不对的
通过不同的地方跳到同一个地方上面地址是不一致的
你可以通过看下浏览器的url来确定地址该怎么写