源码如下:
<%@ page contentType="text/html; charset=GBK" %><!--指定本页文字编码为GBK-->
<%@ page import="grad.util.user.*;"%><!--引入user包下的user和op_user类-->
<%@ page session="true" %><!--设置session有效-->
<html>
<head>
<title>
login
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<% 
String password=request.getParameter("password");
String usercode=request.getParameter("user");
String type=request.getParameter("type");
op_user ope=new op_user();//构造用户管理对象
if(ope.isLogin(usercode,password,type)){//调用isLogin方法判断是否允许用户登录
  user us=ope.getUserByUserCode(usercode,type);//允许用户登录则取得用户信息
  session.setAttribute("usercode",usercode);//把用户编号写入session
  session.setAttribute("usertype",new Integer(us.getType()));//把用户类型写入session
  switch (us.getType())
 {
   case 1:response.sendRedirect("student/index.htm");break; //登录用户是学生
   case 2:response.sendRedirect("teacher/index.htm");break; //登录用户是老师
   case 3:response.sendRedirect("admin/index.htm");break;   //登录用户是管理员
  default:response.sendRedirect("index.jsp");break;
 }
}else{
out.print("<script language=\"javascript\">alert(\"请重新登录\")</script>");
response.sendRedirect("index.jsp");
}
%>
</h1>
</body>
</html>
感觉是环境配置问题,但是不知怎样修正,这个的前一个界面是登陆,刚开始报下面的错,
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 12 in the jsp file: /WebRoot/login.jsp
op_user cannot be resolved to a type
9: </head>
10: <body bgcolor="#ffffff">
11: <h1>
12: <% 
13: String password=request.getParameter("password");
14: String usercode=request.getParameter("user");
15: String type=request.getParameter("type");
An error occurred at line: 12 in the jsp file: /WebRoot/login.jsp
op_user cannot be resolved to a type
9: </head>
10: <body bgcolor="#ffffff">
11: <h1>
12: <% 
13: String password=request.getParameter("password");
14: String usercode=request.getParameter("user");
15: String type=request.getParameter("type");
An error occurred at line: 12 in the jsp file: /WebRoot/login.jsp
user cannot be resolved to a type
9: </head>
10: <body bgcolor="#ffffff">
11: <h1>
12: <% 
13: String password=request.getParameter("password");
14: String usercode=request.getParameter("user");
15: String type=request.getParameter("type");
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.连续刷新两次以后就报这个错:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:600)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.ClassNotFoundException: org.apache.jsp.WebRoot.login_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.

解决方案 »

  1.   

    op_user ope=new op_user();//构造用户管理对象 1 确认你有这个类
    2 把这个类放到你的WEB-INF/classes/grad/util/user/ 目录下面
      

  2.   

    org.apache.jasper.JasperException: Unable to load class for JSP 
    java.lang.ClassNotFoundException: org.apache.jsp.WebRoot.login_jsp 
    无法导入类,类找不到.....
    op_user ope=new op_user();//构造用户管理对象 
    看下你的grad.util.user.*包中是否有op_user类,有的话是否编译,以及路径是否正确`
      

  3.   

    两个条件都符合,之前以为是首字母小写的问题,将op_user改成Op_user还是报op_user cannot be resolved to a type的错
      

  4.   

    错了,是报Op_user cannot be resolved to a type的错
      

  5.   

    最好把你的类贴上来看看,就是op_user那个
      

  6.   

    package grad.util.user;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2005</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    import grad.util.DataBase;
    import grad.util.course.*;
    import grad.util.user.*;
    import java.sql.*;
    import java.util.*;public class Op_user {
      public Op_user() {
      }
      /**
       * 通过用户编号和用户类型,返回用户的详细信息
       * @param user_code
       * @param type
       * @return
       */
      public user getUserByUserCode(String user_code,String type){
       Connection conn=null;
         Statement st=null;
         ResultSet rs=null;
         String sql ="select * from t_user where account='"+user_code+"' and type='"+type+"'";
         try{
           DataBase ds = new DataBase();
           conn = ds.conn;
           st = conn.createStatement();
           user us=new user();
           rs = st.executeQuery(sql);
           if (rs.next()) {
              us.setId(rs.getInt(1));
              System.out.println(rs.getString(2));
              us.setAccount(rs.getString(2));
              us.setPassword(rs.getString(3));
              us.setType(rs.getInt(4));
              us.setName(rs.getString(5));
              us.setSex(rs.getString(6));
              us.setCollege(rs.getString(7));
              us.setTeacher(rs.getString(8));
           }
           return us;
         }catch(Exception e){System.out.println(e.getMessage());return null;}
      }
      
    }
      

  7.   

    op_user ope=new op_user();//构造用户管理对象 
    if(ope.isLogin(usercode,password,type)){//调用isLogin方法判断是否允许用户登录 
      user us=ope.getUserByUserCode(usercode,type);//允许用户登录则取得用户信息 
      session.setAttribute("usercode",usercode);//把用户编号写入session 
      session.setAttribute("usertype",new Integer(us.getType()));//把用户类型写入session 
      switch (us.getType()) 
    你的op_user类里面没有isLogin(usercode,password,type))这个方法啊~~
      

  8.   

    源码太长了,包括这个方法,我粘贴时把剩下的方法删掉了,
    一下时全部源码:
    package grad.util.user;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2005</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    import grad.util.DataBase;
    import grad.util.course.*;
    import grad.util.user.*;
    import java.sql.*;
    import java.util.*;public class Op_user {
      public Op_user() {
      }
      /**
       * 通过用户编号和用户类型,返回用户的详细信息
       * @param user_code
       * @param type
       * @return
       */
      public user getUserByUserCode(String user_code,String type){
       Connection conn=null;
         Statement st=null;
         ResultSet rs=null;
         String sql ="select * from t_user where account='"+user_code+"' and type='"+type+"'";
         try{
           DataBase ds = new DataBase();
           conn = ds.conn;
           st = conn.createStatement();
           user us=new user();
           rs = st.executeQuery(sql);
           if (rs.next()) {
              us.setId(rs.getInt(1));
              System.out.println(rs.getString(2));
              us.setAccount(rs.getString(2));
              us.setPassword(rs.getString(3));
              us.setType(rs.getInt(4));
              us.setName(rs.getString(5));
              us.setSex(rs.getString(6));
              us.setCollege(rs.getString(7));
              us.setTeacher(rs.getString(8));
           }
           return us;
         }catch(Exception e){System.out.println(e.getMessage());return null;}
      }
      /**
       * 往数据库添加一条用户记录
       * @param us -用户对象
       * @return
       */
    public boolean addUser(user us)
    /**
     * 更新用户信息
     * @param us -用户对象
     * @return
     */
    public boolean updateUser(user us)
      /**
       * 查询选择了指定course_id课程的全部学生
       * @param course_id-课程编号
       * @return
       */
     public ArrayList getAllStudent(String course_id)
      /**
      * 供管理员查询用户信息,管理员可以按帐号,姓名,院系查询用户信息
      * @param account
      * @param name
      * @param college
      * @param type
      * @return
      */
     public ArrayList getAllUserQuery(String account,String name,String college,String type)
     /**
      * 判断是否允许用户登录
      * @param user_code
      * @param password
      * @param type
      * @return
      */
     public boolean isLogin(String user_code,String password,String type)
     
     /**
      * 修改密码
      * @param user_code
      * @param password
      * @return
      */
     public boolean modPass(String user_code,String password)
       /**
        * 查询指定user_code学生选择的全部课程
        * @param user_code-学生编号
        * @return
        */
    public ArrayList getUserCourse(String user_code)
      /**
       * 查询指定课程编号的课程信息
       * @param cid-课程编号
       * @return
       */
      public course getCourseByid(String cid)
        /**
        * 从数据库中取出全部课程
        * @return
        */
       public ArrayList getAllCourse()
           /**
          * 管理员查询用,管理员可以按课程编号,课程名称,任课教师查询课程信息
          * @param course_code
          * @param course_name
          * @param course_tech
          * @return
          */
      public ArrayList getAllCourseQuery(String course_code,String course_name,String course_tech)
           /**
         * 添加一门新课程
         * @param cs
         * @return
         */
         public boolean addCourse(course cs)
             /**
          * 更新课程信息
          * @param cs-课程对象
          * @return
          */
         public boolean updateCourse(course cs)
             /**
          * 添加选课记录
          * @param couserid-课程编号
          * @param userid-学生编号
          * @return
          */
         public boolean addXk(String couserid,String userid)
                  /**
             * 管理员添加学生时,先判断数据库中该学生记录是否已经存在
             * @param userid
             * @return
             */
       public boolean isStuExist(String userid)
       {
         Connection conn=null;
        Statement st=null;
        ResultSet rs=null;
        ArrayList al=new ArrayList();
        course cs=new course();
        String sql ="select * from t_user where account='"+userid+"'";
        try{
          DataBase ds = new DataBase();
          conn = ds.conn;
          st = conn.createStatement();
          rs = st.executeQuery(sql);
          if(rs.next())return true;else return false;
        }
              catch (Exception e) {
                System.out.println(e.getMessage());
                return false;
              }
            }
            /**
             * 管理员添加课程时,先看课程是否已经存在
             * @param courseid
             * @return
             */
       public boolean isCourseExist(String courseid)
       {
         Connection conn=null;
         Statement st=null;
         ResultSet rs=null;
         ArrayList al=new ArrayList();
         course cs=new course();
         String sql ="select * from t_course where course_code='"+courseid+"'";
         try{
          DataBase ds = new DataBase();
          conn = ds.conn;
          st = conn.createStatement();
          rs = st.executeQuery(sql);
          if(rs.next())return true;else return false;
           }
            catch (Exception e) {
            System.out.println(e.getMessage());
            return false;
          }   }
       /**
        * 删除用户信息
        * @param userid
        * @param type
        */
       public void delUser(String userid,String type)
      {
        Connection conn=null;
        Statement st=null;
        ResultSet rs=null;
        if(userid==null)userid="";
        course cs=new course();
        String sql ="delete from t_user where account='"+userid.trim()+"'";
        try{
         DataBase ds = new DataBase();
         conn = ds.conn;
         st = conn.createStatement();
         System.out.println(sql);
          st.executeUpdate(sql);
          if(type.equals("T"))this.delXk(userid,"T");
          if(type.equals("S"))this.delXk(userid,"S");      }
           catch (Exception e) {
           System.out.println(e.getMessage());
           return ;
         }  }
      /**
       * 删除选课记录
       * @param cORuid
       * @param type
       */
      public void delXk(String cORuid,String type)
       {
         Connection conn=null;
         Statement st=null;
         ResultSet rs=null;
         String sql="";
         course cs=new course();
         if(type.equals("T"))
          sql ="delete * from xk_record where course_id='"+cORuid+"'";
          if(type.equals("S"))
           sql ="delete * from xk_record where user_code='"+cORuid+"'";
         try{
          DataBase ds = new DataBase();
          conn = ds.conn;
          st = conn.createStatement();
          System.out.println(sql);
           st.executeUpdate(sql);
           }
            catch (Exception e) {
            System.out.println(e.getMessage());
            return ;
          }
       }
       /**
        * 删除课程
        * @param courseid
        */
      public void delCourse(String courseid)
      
       /**
        * 管理员添加选课记录时,先看选课记录是否已经存在
        * @param stuid
        * @param courseid
        * @return
        */
       public boolean isXkExist(String stuid,String courseid)
         
    }