最近要写个OA,本人刚接触JSP
用Access2000做数据库,用的是Tomcat 5.5.15  JDK是1.5.0.06代码如下:
------------
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page session ="true" %>
<%@ page import = "java.sql.*" %><%
  String s_ur = request.getParameter("tfUser");
  String s_pw = request.getParameter("tfPassword");
  
  try
  {
    Class.forName("sun.jdbc.odbc.Driver");
  }
  catch(Exception e)
  {
    out.print(e);
  }  try
  {
    String s_url = "jdbc:odbc:oa";
    Connection conn = DriverManager.getConnection(s_url);
  }
  catch(Exception e)
  {
    out.print(e);
  }  Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

  String s_sql = "select * from user where [user]='"+s_ur+"' and [password] = '" +s_pw+ "'";
  ResultSet rs = stmt.executeQuery(s_sql);  if(rs.next())
  {
out.println("Yes");
  }
  else
  {
    out.println("No");
  }

  rs.close();
  stmt.close();
  conn.close();
%>------------执行时显示如下错误org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 5 in the jsp file: /index.jsp
Generated servlet error:
conn cannot be resolvedAn error occurred at line: 5 in the jsp file: /index.jsp
Generated servlet error:
conn cannot be resolved
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)------------大虾们看看怎么解决,谢谢,在线等。

解决方案 »

  1.   

    提示的很明白了,第五行
    String   s_ur   =   request.getParameter( "tfUser "); 
    改为
    String   s_ur   =   request.getParameter( "tfUser ").toString();再看看你的页面有传这两个参数吗tfUser、tfPassword 
     
      

  2.   

    我在index.htm的form的action里这样写
    index.jsp?User=tfUser&Password=tfPassword
    然后在index.jsp里写
    String s_ur = request.getParameter("User");
    String s_pw = request.getParameter("Password");
    行吗?(tfUser和tfPassword是两个文本框儿)这样还是不行,错误一样-----------------------------------
    如果不象上面那样改写加了.toString();也是一样
      

  3.   

    conn   cannot   be   resolved 未定义conn改为:Connection conn = null; try { 
            String   s_url   =   "jdbc:odbc:oa "; 
            conn   =   DriverManager.getConnection(s_url); 
     } 
     catch(Exception   e) 
     { 
         out.print(e); 
     } 
      

  4.   

    To gl74gs48: 按你说的改过了,也不行。ODBC数据源我肯定也是配置过了,是用户数据源,登录用户和密码都是空的。我这句
    Class.forName("sun.jdbc.odbc.Driver");
    是不是要写成
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 啊?
    我看网上的例子就有这么写的,我试过了,也不行。谁帮我看看吧,卡住了。-_-!
      

  5.   

    cpo 发表于:2007-10-31 16:29:582楼 得分:0 
    我在index.htm的form的action里这样写 
    index.jsp?User=tfUser&Password=tfPassword 
    然后在index.jsp里写 
    String   s_ur   =   request.getParameter("User"); 
    String   s_pw   =   request.getParameter("Password"); 
    行吗?(tfUser和tfPassword是两个文本框儿) 如果你用request.getParameter("tfUser"); 就是得到文本框里的值,
    如果你用request.getParameter("User");就是得到url上傳過來的參數值,看你要獲得什么值,再改吧。改后如果還出錯,請將改后出的錯再帖出來參考。另外加不加toString()都一樣,因為getParameter方法本來就是返回String類型。加油!祝你成功!
     
      

  6.   

    ODBC数据源我肯定也是配置过了,是用户数据源,登录用户和密码都是空的应该是系统数据源
      

  7.   

    写成 
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
      

  8.   

    To gl74gs49 和 xiaokunyu:
    ----------------------------------------------------我将传值和装载驱动程序部分改回了这样:  String s_ur = request.getParameter("tfUser");
      String s_pw = request.getParameter("tfPassword");
      
      try
      {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
      catch(Exception e)将index.htm的form的action里改回了index.jsp并建立了系统数据源,但问题仍然存在。----------------------------------------------------是不是,Tomcat 5.5.15 版本仍然需要配置环境变量啊?
    (我记得5.0以后的版本都不用配置了,应该不是这个问题吧)----------------------------------------------------谁帮我想想啊,谢谢,在线等。----------------------------------------------------
      

  9.   

    Connection   conn   =   DriverManager.getConnection(s_url);
    这句话加上个数据库的用户名和密码,没有用""代替~
    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE
    改成
    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY我没看楼上写的 如果有重复的别骂我啊