关于at org.apache.catalina.connector.ResponseFacade.sendRedirect

在开发Java Web项目时遇到一个问题,当使用`response.sendRedirect()`进行页面跳转后,后续代码依然执行导致错误。异常发生在尝试在已发送跳转指令后继续执行其他页面跳转。例如,在Servlet中检查用户注册信息,如果密码验证失败,会跳转到错误页面。即使跳转成功,后面的注册成功跳转代码仍会执行,引发`at org.apache.catalina.connector.ResponseFacade.sendRedirect`异常。解决方案是确保在发送跳转请求后,不再执行可能导致额外跳转的代码。

今天在写java web 项目时 碰到了一个纠结的问题

at org.apache.catalina.connector.ResponseFacade.sendRedirect

该异常的意思就相当于在说,你已经确定要跳转到界面了 但你还在执行下面的代码 而且下面的代码又跳到别的一个页面

如:

@SuppressWarnings("serial")
public class RegServlet extends HttpServlet {


 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  System.out.println("OK");
  request.setCharacterEncoding("utf-8");
  //接受客户端上传数据
  String email = request.getParameter("email");
  String nickname = request.getParameter("nickname");
  String pwd = request.getParameter("pwd");//两次输入密码
  String pwd1 = request.getParameter("pwd1");
  
  //调用功能对象处理数
 if(pwd==null || !pwd.equals(pwd1)){ 
    
   //出错了
   response.sendRedirect("error/error.jsp");
   
   
  }

//这如果条件改为 pwd 和pwd1相同也进入 进入该if ; 但进入完后 下面的代码却还会执行  

//执行到

 //注册成功 response.sendRedirect("user/verify_form.jsp");就会出现该错误

  / /if(pwd==null || pwd.equals(pwd1)){ 
    
   // 出错了
  // response.sendRedirect("error/error.jsp");
   
   
  // }

  
  User user = new User(email,nickname,pwd);
  UserManager Um = new UserManager();
  try {
   Um.register(user);
  } catch (SQLException e) {
   //出错了
   response.sendRedirect("error/error.jsp");
   e.printStackTrace();
   
  }


  //注册成功
  response.sendRedirect("user/verify_form.jsp");
 
  
  }
  
 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值