我们在站内写的时候写的都是相对路径名,当然是跳站内了,如果你想跳另外一个站的话,写全路径名就可以了。
比如说http://localhost:8080/a/index.jsp这个就是全路径名你想跳b的就直接把a改成b就可以了。
用
不重写url不行吧。
jsp中不通过重写url的形式跳转页面的方式为: response.sendRedirect()
是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件。重定向后在浏览器地址栏上会出现重定向页面的URL。
例:在servlet中重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
response.sendRedirect("/index.jsp");
}
由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。
注意:
(1) 使用response.sendRedirect时,前面不能有HTML输出;
这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(这里指的是JSP SERVER),这就意味着,除非关闭了cache,或者使用了out.flush()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也是允许的。
(2) response.sendRedirect之后,应该紧跟一句return。
已经知道response.sendRedirect是通过浏览器来做转向的,所以只有在页面处理完成后,才会有实际的动作。