out.print("<script language='javascript'>alert('用户名或者密码有误!');</script>");
response.sendRedirect("admin.jsp");out.print("<script language='javascript'>alert('用户名或者密码有误!');location='index.jsp'</script>");以上两句代码都是用来做页面跳转,我一直在用,但不知道他们的区别,用哪个更有逻辑,不太清楚,求助
response.sendRedirect("admin.jsp");out.print("<script language='javascript'>alert('用户名或者密码有误!');location='index.jsp'</script>");以上两句代码都是用来做页面跳转,我一直在用,但不知道他们的区别,用哪个更有逻辑,不太清楚,求助
解决方案 »
- 新手学习tomcat, 制作的登录系统功能,通过FORM的方式到后台使用servlet,但无论如何都停留在登录界面
- jsp中EL表达式,Attribute如果的重名怎么弄
- 有关Myeclipse中导入WEB项目错误问题,麻烦各位帮忙看看!谢谢了!
- hibernate 3.2支持条件查询的having子句?3.5呢?
- border-style: none none solid; ,这段怎解?
- jsp设计第三版中的一些问题。50分请高手指教
- 关于filter的处理response
- 请问,如何给按钮增加颜色?
- applet和servlet之间的数据传输问题
- (技巧提示)如何用JSP强制下载一个文件[download,contenttype]
- jsp怎么播放flv视频的二进制数据流?
- jsp页面许多标签报错
上面是重定向下面是普通的跳转
第一个不能共享request里面的数据
第二个可以
response.sendRedirect()是重新定向,前后页面不是一个request。
request.getRequestDispather();返回的是一个RequestDispatcher对象。response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参数,如: url?id=1.
request.getRequestDispatcher(url).forward(request,response)是直接将请求转发到指定URL,所以该请求能够直接获得上一个请求的数据,也就是说采用请求转发,request对象始终存在,不会重新创建。而
sendRedirect()会新建request对象,所以上一个request中的数据会丢失。 总体来说,你要是没有数据提交,也没有参数的传递,前后页面各成独立的逻辑,你用怎样的跳转方式都是没有影响的。