专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Web开发

ResultSet为空的有关问题

发布时间:2010-05-31 00:37:07 文章来源:www.iduyao.cn 采编人员:星星草
ResultSet为空的问题
登录网站访问数据库的过程中……

Serevlet 代码如下




Java code



package ser;

import impl.AccountImpl;
import it.shopping.dao.IAccount;
import it.shopping.pojo.Account;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AccountSer extends HttpServlet
{
   
 
   private IAccount accountImpl = new AccountImpl();
   
   private static final long serialVersionUID = -3708568559174453120L;
   
   public AccountSer()
   {
       super();
   }
     
    public void destroy()
    {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {

    this.doPost(request, response);
    }

    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    { 
        
        String status = request.getParameter("status");
        if(status.equals("login"))
        {
        
        Account account = new Account();
        account.setAlogin(request.getParameter("alogin"));
        account.setApass(request.getParameter("apass"));
     
        
         account =accountImpl.queryAccount(account);
    
        
        
        if(account == null)
        {
            request.setAttribute("error", "登录失败");
            request.getRequestDispatcher("/alogin.jsp").forward(request, response);
            System.out.println("doPost is invoked");
        }
        
        else
        {
            
          request.getSession().setAttribute("account", account);
          response.sendRedirect("/t31/admin/index.jsp");
          
            
        }
        }
    }
        
 

    
    public void init() throws ServletException
    {
        // Put your code here
        System.out.println("init is invoked");
    }

}



访问数据库:

Java code

package impl;

import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


import utils.JdbcUtils;

import it.shopping.dao.IAccount;
import it.shopping.pojo.Account;




public class AccountImpl implements IAccount
{

    @Override
    public Account queryAccount(Account account) 
    {
        
    
         Account temp = null;
         Connection conn = null;
         PreparedStatement pre = null;
         String sql = "SELECT * FROM students WHERE alogin=? AND apass=?"; 
         ResultSet rs = null;
         
       try
       { 
         
        conn = JdbcUtils.getConnection();
        pre= conn.prepareStatement(sql);

        pre.setObject(1,"alogin");
        pre.setObject(2,"apass");
        System.out.println("pre is invoked");
        rs = pre.executeQuery();
        System.out.println(rs.getString(1));
        
        
         
        
         
        if(rs.next())
        {
             
             temp = new Account();
             temp.setAid(rs.getInt("aid"));
             temp.setAlogin(rs.getString("alogin"));
             temp.setApass(rs.getString("apass"));
            
        
        }
        
            
        } catch (SQLException e){
        
            e.printStackTrace();
        }  finally{
            JdbcUtils.free( rs,pre,conn); 


        }

     return temp;
    }

}



数据库工具类

Java code

package utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 
 * 2008-12-6
 * 
 * @author <a href="mailto:liyongibm@hotmail.com">����</a>
 * 
 */
public final class JdbcUtils {
    private static String url = "jdbc:mysql://localhost:3306/shopping";
    private static String user = "root";
    private static String password = "593295570dr";

    private JdbcUtils() {
    }

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url, user, password);
    }

    public static void free(ResultSet rs, Statement pre, Connection conn) {
        try {
            if (rs != null)
                rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (pre != null)
                    pre.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (conn != null)
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
            }
        }
    }
}


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: