关于response.sendRedirect跳转不到指定的页面

问题描述

代码如下:<%@pagelanguage="java"contentType="text/html;charset=GB18030"pageEncoding="GB18030"%><%@pageimport="com.bjsxt.drp.sysmgr.*"%><%Stringcommand=request.getParameter("command");if(command!=null&&command.equals("login")){StringuserId=request.getParameter("userId");Stringpassword=request.getParameter("password");try{Useruser=UserManager.getInstance().login(userId,password);session.setAttribute("user",user);response.sendRedirect("main.html");return;}catch(UserNotFoundExceptionunfe){out.println(unfe.getMessage());//用户名不正确}catch(PasswordNotCorrectExceptionpnce){out.println(pnce.getMessage());//密码不正确}}%>方法调用:publicUserlogin(StringuserId,Stringpassword){Useruser=this.findUserById(userId);if(user==null){thrownewUserNotFoundException("用户不能找到");}if(!user.getPassword().equals(password)){thrownewPasswordNotCorrectException("用户密码不正确");}returnuser;}findUserById和数据库交互没有问题,可以取到userId值,例如:root现在的问题是永远跳转不到main.html页面。。。。

解决方案

解决方案二:
findUserById如下:publicUserfindUserById(StringuserId){System.out.println("UserManager.findUserById()-userId="+userId);Stringsql="select*fromt_userwhereuser_id=?";Connectionconn=null;PreparedStatementpstmt=null;ResultSetrs=null;Useruser=null;try{conn=DB.getConnection();pstmt=conn.prepareStatement(sql);pstmt.setString(1,userId);rs=pstmt.executeQuery();if(rs.next()){user=newUser();user.setUserId(rs.getString("user_id"));user.setUserName(rs.getString("user_name"));user.setPassword(rs.getString("password"));user.setContactTel(rs.getString("contact_tel"));user.setEmail(rs.getString("email"));user.setCreateDate(rs.getTimestamp("create_date"));}}catch(SQLExceptione){e.printStackTrace();}finally{DB.close(rs);DB.close(pstmt);DB.close(conn);}returnuser;同时javascript是调用自身functionsubmitForm(){with(document.forms[0]){action="login.jsp?command=login";method="post";submit();}}
解决方案三:
永远是调用../login.jsp?command=login这个界面,多谢高人指点一下。。。。。
解决方案四:
你确定"response.sendRedirect("main.html");"这句执行了?
解决方案五:
首先看跳转的名字是不是写错了,然后对Useruser=UserManager.getInstance().login(userId,password);进行测试out.println(user);是不是null?.....楼主仔细点肯定能找到错误的所在。
解决方案六:
将"response.sendRedirect("main.html");"里的路径该为绝对路径试试。。。
解决方案七:
全路径我试过,还是不行

时间: 2024-11-04 18:30:39

关于response.sendRedirect跳转不到指定的页面的相关文章

response.sendRedirect()跳转页面无法显示

问题描述 出现一个新问题:center_left.jsp,内容是Ext的一个form表单,1url:'servlet/AddQueServlet',具体如下:001<script type="text/javascript">002Ext.require([ '*' ]);003Ext.onReady(function() {//onReady()函数在页面注册多个函数,依次执行004 Ext.QuickTips.init();005 Ext.state.Manager.s

response.sendRedirect的一点实际用法

redirect|response <黑咖啡 原创> 以下是一个购物单提交的jsp页面(正确的) <%@ page contentType="text/html" language="java" import="java.util.*,com.blackCoffee.shop.*,com.blackCoffee.util.*,com.blackCoffee.db.*" %><%@ page errorPage=&qu

jsp response.sendRedirect不跳转的原因分析及解决

最近做项目时遇到一个问题,明明加了response.sendRedirect() ,系统也执行了,但是它就是不跳转;最后在网上找到原因如下: 首先我们要明白用response.sendRedirect做转向的原理,它其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化. 用<jsp:forward page=""/>则不同,它是直接在server做的,浏览器并不知道,也不和浏览器

jsp response.sendRedirect不跳转的原因分析及解决_JSP编程

最近做项目时遇到一个问题,明明加了response.sendRedirect() ,系统也执行了,但是它就是不跳转;最后在网上找到原因如下: 首先我们要明白用response.sendRedirect做转向的原理,它其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化. 用<jsp:forward page=""/>则不同,它是直接在server做的,浏览器并不知道,也不和浏览器

使用response.sendRedirect()无法跳转?

问题描述 下面是我的部分代码<%//当前会员UsersloginUser=(Users)session.getAttribute("loginuser");if(loginUser==null){response.sendRedirect("../index.jsp");}//商品信息ProductManagerpm=newProductManager();ProductProductByMinPrice=pm.getProductByMinPrice();/

使用response.sendRedirect的注意事项。

redirect|response 首先我们要明白用response.sendRedirect做转向的原理,它其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化.用<jsp:forward page=""/>则不同,它是直接在server做的,浏览器并不知道,也不和浏览器打交道,这从浏览器的地址并不变化可以看出.所以使用response.sendRedirect时就需要注意以下

java-为什么response.sendRedirect(url)不能改变地址栏

问题描述 为什么response.sendRedirect(url)不能改变地址栏 在Java文件中写了一个关于页面跳转的response.sendRedirect(url)方法,结果不能正常跳转 解决方案 http://www.jb51.net/article/39596.htm

一个response.sendRedirect路径的问题

问题描述 想用session对象实现页面传值的问题,前一个页面是session.setAttribute("itemslist",itemslist);response.sendRedirect("Show.jsp");在Show.jsp中用getAttribute可以得到itemslist的值,但是如果改成下面这个response.sendRedirect("http://localhost:8080/ShoppingCart/Show.jsp"

在servlet中out.flush() 和 response.sendRedirect() 互相影响

问题描述 我的代码为:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setCharacterEncoding("GBK");PrintWriterout=response.getWriter();if(!validator.equals(in_validateCode)){out.println(&quo