一进login.jsp就报错,我不知道是怎么回事。
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%@ page import="java.util.*,com.gallop.entity.*,com.gallop.util.*,com.gallop.database.*"%>  
<%@ page import="com.hsd.*"%> 
<%@ include file="code.jsp"%>

<%  
   String username=ParamUtils.getParameter(request,"username");
   String password = ParamUtils.getParameter(request, "password");
   username=gbkf(username);
   password=gbkf(password);

   String sqlstr = "select A04ID,A03ID,xm from A04_ry where dlm=? and mm=?";
   Object[] para={username,password};

   MultiObjectArray result=ConnectionManager.getMultiObjectArray(sqlstr,para,1);
   if (result.row() == 0)
   {
      out.println("<script language=javascript>");
      out.println("window.alert('登录失败,请检查用户名与密码!')");
out.println("window.location.href='../Plan/'");
      out.println("</script>");
   }
   else
   { 
java.util.List list = dao.getSession().createQuery("from User user where user.dlm= '" + username + "'").list();
session.setAttribute("user", list.get(0));
dao.getSession().update(list.get(0));
    
      Object[] value=result.get(0).elements(); 
  String userStr=value[0]+";"+value[1]+";"+value[2]+";"+username+";"+password;
  sqlstr = "select A00ID from A05_ryqxfpb where A04ID="+value[0]+"";
  String limitStr = ConnectionManager.executeQuery(sqlstr);
  String error="";
  if(limitStr.equals("") || limitStr.equals(null))
  error = "对不起,你还没有操作本系统的权限,请与系统管理员联系!";
      session.setAttribute("userID",value[0].toString());
  session.setAttribute("password",password);
  session.setAttribute("username",username);
  session.setAttribute("xm",value[2].toString());
      //session.setAttribute("Authorization",value[1].toString());
  //session.setAttribute("reportUnit",value[2].toString());
      //session.setAttribute("userRole",value[7].toString());
  out.println("<script language=javascript>");
  if(error!="")
  {
  out.println("alert('"+error+"')");
  out.println("self.location.href='../Plan/';");
  }
  else
  {
      out.println("Login('"+userStr+"','"+limitStr+"');");
//out.println("window.opener=null;");
//out.println("window.close();");
      }
      out.println("</script>");
   }
%>

解决方案 »

  1.   

    因为你的用户名是错的,所以
    java.util.List list = dao.getSession().createQuery("from User user where user.dlm= '" + username + "'").list();
    返回的list里面是没有内容的,而你接下去就是
    session.setAttribute("user", list.get(0));
    list里没有内容,所以执行list.get(0)就出错了
      

  2.   

    但我直接在login.jsp的开头写
    out.println("aaaaaaaa");
    out.close();
    都出现“The server encountered an internal error () that prevented it from fulfilling this request.”的错误啊!这是怎么回事呢?