这里是java代码:public boolean checkAdmin(String username, String password)//检查管理员的登录名和密码是否正确
throws UserException {
//创建一个变量用于判断结果
boolean isAdmin = false;
//查询admin表的SQL语句
String selectSql = "SELECT * FROM admin WHERE username=? AND password=?";
PreparedStatement pmst = null;
try{
//创建一个数据库连接对象
ConnectDB conn = new ConnectDB();
//执行查询语句
pmst = conn.getConnection().prepareStatement(selectSql);
//1代表查询语句中的?号,username为形参
pmst.setString(1, username);
//1代表查询语句中的?号,username为形参
pmst.setString(2, password);
// pmst.executeQuery();
ResultSet rst = pmst.executeQuery();
//判断结果是否为空,如否,说明用户名和密码是正确的
if(rst.next()){
isAdmin = true;
}这里JSP的检测页面的代码:
  
 <%@ page language="java" import="java.util.*,userJSP.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'cklogin.jsp' starting page</title>
    <link rel="stylesheet" href="images/css.css" type="text/css" media="screen">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <body>
<%
String userName = request.getParameter("username");
String passWord = request.getParameter("password"); if(userName==null || (userName = userName.trim()).length() == 0) {
session.setAttribute("error","登录失败,请输入您的登录名。");
response.sendRedirect("error.jsp");

}
if(passWord==null || passWord.length() == 0) {
session.setAttribute("error","登录失败,请输入您的密码。");
response.sendRedirect("error.jsp");

}
UserInter objDB = UserInfoFactory.getUserInfoDB();

boolean ret = false;
boolean exception = false;
try{
ret = objDB.checkAdmin(userName,passWord);
}catch(UserException appe){
exception = true;
session.setAttribute("error",appe.getMessage());
response.sendRedirect("error.jsp");

}catch(Exception e){
exception = true;
session.setAttribute("error","发生异常,管理员登录失败。");
response.sendRedirect("error.jsp");

}
if(!exception){
if(!ret){
session.setAttribute("error","用户名或密码错误!请重新登陆。");
response.sendRedirect("error.jsp");

}else{
session.setAttribute("adminName_s",userName);
response.sendRedirect("userlist.jsp");

}
}
 %>
   </body>
</html>
出错是内容是:     注: at userJSP.UserDBImpl.checkAdmin(UserDBImpl.java:77)是上面pmst = conn.getConnection().prepareStatement(selectSql);这一行的代码.

java.lang.NullPointerException
at userJSP.UserDBImpl.checkAdmin(UserDBImpl.java:77)
at org.apache.jsp.chklogin_jsp._jspService(chklogin_jsp.java:92)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)   登录返回的信息是"用户名或密码错误!请重新登陆。"
  小弟实在想不出是什么出错了,经过N次的试验都无法得出结果,
  现在急着解决,请高手帮下忙吧!
  有问题的可以提出来,
  多谢!!!!!!!!