</head>
  <body>
  <%
  
    //防止用户非法登录 
   
    String u=(String)session.getAttribute("myName");    
    //如果用户没有登录
    if(u==null){
   
    //返回登录界面
    response.sendRedirect("login.jsp");
    return;
    }   %>    登陆成功!<%=u %><br>
    <a href="login.jsp">返回重新登录</a>
    <hr>
    <h1>用户信息列表</h1>
    <%

     //调用UserBeanCl的方法(创建一个UserBeanCld 实例,然后调用它的某个方法),完成分页显示
     //UserBeanCl ubc=new UserBeanCl();
     //ArrayList al=ubc.getUserByPage(pageNow);
 
     //要显示的用户信息从request中取
     ArrayList al=(ArrayList)request.getAttribute("result");    //显示
      %>
      <table border="1">
      <tr bgcolor=pink >
      <td width="70">用户ID</td>
      <td width="70">用户名字</td>
      <td width="70">密码</td>
      <td width="70">邮箱</td>
      <td width="70">级别</td>
      </tr>
      <%
     
      for(int i=0;i<al.size();i++){      //从al中取出userbean
      UserBean ub=(UserBean)al.get(i);
     
      %>
      <tr>
      <td><%=ub.getID() %></td>
      <td><%=ub.getUID() %></td>
      <td><%=ub.getUPS() %></td>
      <td><%=ub.getMail() %></td>
      <td><%=ub.getGrade() %></td>
      </tr>
      <% 
          
      }
我希望当用户直接打开这个页面的时候 跳转回登录页面(login.jsp) 可是它在这行报错 for(int i=0;i<al.size();i++)应该是 上面的result 为空的缘故吧, 但是看视频教程, 加了
   
    String u=(String)session.getAttribute("myName");
    if(u==null){
    response.sendRedirect("login.jsp");
    return;
    }
后不再报错,而是成功地跳转了,我加了以后它就在原页面报错,奇怪哦,当没加之前教程里也是一样  空指针错误啊,  我不懂哎  哪里错了呢

解决方案 »

  1.   

    那你的那个 u 是不是为null呢
      

  2.   

    改成:
      //如果用户没有登录
        if(u==null){
       
        //返回登录界面
        response.sendRedirect("login.jsp?err=1");
        return;
        }
    然后在登录界面加入:
    String err=request.getParameter("err");
      
       if(err!=null){
      
       if(err.equals("1")){
       out.println("<font color=red>用户没有正常登录,请登陆!</font><br>");
       }
       }它就能跳转到http://127.0.0.1:8088/Login/login.jsp?err=1可是不加 为什么跳转不到 http://127.0.0.1:8088/Login/login.jsp 实在搞不明白~