我也刚学,你的程序我没有看懂。我把我自己的给你看一下。数据库是MS SQL。<%@ page import="java.lang.*, java.io.*,java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>认证</title>
</head>
<body>
<% String Name=request.getParameter("name");
   String Password=request.getParameter("password");
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
   String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=muludengju";
   String user="sa";
   String password="151961404";
   Connection conn=DriverManager.getConnection(url,user,password);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql="select * from mima where name='"+Name+"' and password='"+Password+"'";
   ResultSet rs=stmt.executeQuery(sql);
   if(rs.next()){
   out.print("恭喜你,登陆成功!");
   }
   else{
   out.print("抱歉!登陆不成功!");
   }
   rs.close();
   stmt.close();
   conn.close();
   %>
</body>
</html>

解决方案 »

  1.   

    写的都有问题,登录不能直接根据有无结果集来判断,应该是
    select * from table where name='"+name+"'
    然后再比对密码
      

  2.   

    判断一个用户是否存在,应用根据其输入的用户名和密码来查出对应记录的主键,若有则登录成功,反之则失败.
    "select id from userinfo where name='"+name+"' and password='"+password+"'";
      

  3.   

    zjh1983314说的判断语句也是String sql="select * from mima where name='"+Name+"' and password='"+Password+"'";啊。。这个应该不是主要的问题吧。。
      

  4.   

    改成如下试试:
    <%@ page import="java.sql.*" contentType="text/html;charset=GB2312" %>
    <%@ page language="java" import="java.sql.*"  %>
    <%@ include file="index.jsp"%>
    <html>
    <head>
    <title>登录界面</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body bgcolor="ffffff"><jsp:useBean id="LoadBean" scope="page" class="db.DbConnection" />
    <% 
         System.out.println(sql);
         LoadBean.openConnection();   
         String name=request.getParameter("name");
         String password=request.getParameter("password");     name=name.trim();
         password=password.trim();     session.putValue("name",name);
         session.putValue("password",password);
        
         
     
         String sql="select * from userinfo where name='"+name+"' and password='"+password+"'";
         
         ResultSet rs=LoadBean.executeQuery(sql);
         if(rs.next()){
             rs.close();
             LoadBean.close();
             
             response.sendRedirect("manager.jsp");
         }
         else
         {
              rs.close();
              LoadBean.close();
              response.sendRedirect("index.jsp");
         }
    %>
    </body>
    </html>
    因为select count(*)一定会返回一条记录集,(即使数用户和密码错误,也会返回“0”),所以if(rs.next())永远会为true,不可能会返因到错误页面的