ConnDB.java. 代码:
package hsy;
import java.sql.*;public class ConnDB {
private Connection ct=null;
public Connection getConn(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:spdb","sa","123");
}
catch(Exception ex){
ex.printStackTrace();
}
return ct;
}
UserBeanCL 代码:package hsy;import java.sql.*;public class UserBeanCL {
private Connection ct=null;
private Statement sm=null;
private ResultSet rs=null;
public boolean checkuser(String u,String p){
boolean b=false;
try{
ConnDB cd=new ConnDB();
ct=cd.getConn();
sm=ct.createStatement(); rs=sm.executeQuery("select top 1 * from users where username='"+u+"'and passwd='"+p+"'");
if(rs.next()){
b=true;
}
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
try {
if(rs!=null)
{
rs.close();}
if(sm!=null){
sm.close();
}
if(ct!=null){
ct.close();
}
}
catch(Exception ex){
ex.printStackTrace();
}
}
return b;
} }
login.java代码:
package hsy;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Login extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body><center>");
out.println("<h1>用户登录</h1>");
out.println("<form action=logincl method=post>");
out.println("用户名:<input type=text name=username><br>");
out.println("密码:<input type=password name=passwd><br>");
out.println("<input type=submit value=login><br>");
out.println("</from>");
out.println("</center></body>");
out.println("</html>");
out.flush();
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
loginCL.java 代码:package hsy;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class LoginCL extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String u=request.getParameter("username");
String p=request.getParameter("passwd");
UserBeanCL ubc=new UserBeanCL();
if(ubc.checkuser(u,p)){
HttpSession hs=request.getSession(true);
hs.setAttribute("pass","ok");
response.sendRedirect("wel?uname="+u);
}
else{
response.sendRedirect("login");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
}
运行结果 提示 红色部分有错误,可是我看了半天也看不出来。
package hsy;
import java.sql.*;public class ConnDB {
private Connection ct=null;
public Connection getConn(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
ct=DriverManager.getConnection("jdbc:odbc:spdb","sa","123");
}
catch(Exception ex){
ex.printStackTrace();
}
return ct;
}
UserBeanCL 代码:package hsy;import java.sql.*;public class UserBeanCL {
private Connection ct=null;
private Statement sm=null;
private ResultSet rs=null;
public boolean checkuser(String u,String p){
boolean b=false;
try{
ConnDB cd=new ConnDB();
ct=cd.getConn();
sm=ct.createStatement(); rs=sm.executeQuery("select top 1 * from users where username='"+u+"'and passwd='"+p+"'");
if(rs.next()){
b=true;
}
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
try {
if(rs!=null)
{
rs.close();}
if(sm!=null){
sm.close();
}
if(ct!=null){
ct.close();
}
}
catch(Exception ex){
ex.printStackTrace();
}
}
return b;
} }
login.java代码:
package hsy;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class Login extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body><center>");
out.println("<h1>用户登录</h1>");
out.println("<form action=logincl method=post>");
out.println("用户名:<input type=text name=username><br>");
out.println("密码:<input type=password name=passwd><br>");
out.println("<input type=submit value=login><br>");
out.println("</from>");
out.println("</center></body>");
out.println("</html>");
out.flush();
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
loginCL.java 代码:package hsy;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class LoginCL extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String u=request.getParameter("username");
String p=request.getParameter("passwd");
UserBeanCL ubc=new UserBeanCL();
if(ubc.checkuser(u,p)){
HttpSession hs=request.getSession(true);
hs.setAttribute("pass","ok");
response.sendRedirect("wel?uname="+u);
}
else{
response.sendRedirect("login");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
}
运行结果 提示 红色部分有错误,可是我看了半天也看不出来。
sm=ct.createStatement(); //这里估计出现NullPointerException
具体为什么出现获取不到数据库连接,楼主把异常信息贴出来 才能知道