用jsp+javabean+servlet做登陆界面时,login.jsp老是登陆到失败页面。小弟我怀疑是jdbc没有链接上mysql。请各位前辈帮忙看代码
package org.man.servlet;import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.man.vo.*;
import org.man.factory.*;
public class LoginServlet extends HttpServlet{
public void doGet(HttpServletRequest request , HttpServletResponse response)throws IOException,ServletException
{
this.doPost( request ,response) ;
}
public void doPost(HttpServletRequest request , HttpServletResponse response)throws IOException,ServletException
{
String id=request.getParameter("id");
String password=request.getParameter("password");
String path="loginfail.jsp";
Person person= new Person();
person.setPassword(password);
person.setId(id);
if(DaoFactory.getPersonDaoInstance().isLogin(person)){
path="loginsuccess.jsp";
}
request.getRequestDispatcher(path).forward(request,response);
}
}
package org.man.dbc;
import java.sql.*;
public class DataBaseConnection{
private final String DRIVER ="com.mysql.jdbc.Driver";
private final String DBURL ="jdbc:mysql://localhost:3306/test";
private final String USER="root";
private final String PASSWORD="";
private Connection conn=null;
public DataBaseConnection(){
try{
Class.forName(DRIVER).newInstance();
conn=DriverManager.getConnection(DBURL,USER,PASSWORD);
}catch(Exception e){
e.printStackTrace();
}
}
public Connection getConnection(){
return this.conn;
}
public void close(){
try{
this.conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
package org.man.daoimpl;
import org.man.vo.*;
import org.man.dbc.*;
import java.sql.*;
import org.man.dao.*;
public class PersonDaoImpl implements PersonDao{
public boolean isLogin(Person person){
boolean flag=false;
PreparedStatement ps=null;
ResultSet rs=null;
String sql="select name from person where id=? and password=?";
DataBaseConnection dbc=new DataBaseConnection();
try{
ps=dbc.getConnection().prepareStatement(sql);
ps.setString(1,person.getId());
ps.setString(2,person.getPassword());
rs=ps.executeQuery();
if(rs.next()){
flag=true;
person.setName(rs.getString(1));
}
rs.close();
ps.close();
}catch(Exception e){
e.printStackTrace();
}
finally{
dbc.close();
}
return flag;
}
} --------------------编程问答-------------------- 在这儿打个断点看下就知道了,没有错误信息吗?
conn=DriverManager.getConnection(DBURL,USER,PASSWORD); --------------------编程问答-------------------- 判断conn是否为Null就知道有没有链接上 --------------------编程问答-------------------- isLogin方法里加个断点跟踪一下啊
补充:Java , Java EE