我正在尝试将mysql数据库与java(eclipse)连接起来这是我的代码
Controller.java
package classes;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Controller{
public static boolean validate(String userId, String Pass){
boolean status = false;
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
String url = "jdbc:mysql://localhost/";
String dbName = "meeting_planner";
String driver = "com.mysql.jdbc.Driver";
String UserId = "123";
String password = "hhh";
try {
Class.forName(driver).newInstance();
con = DriverManager.getConnection("url+dbName,UserId=?&password=?");
pst = con.prepareStatement("select * from administrator where AId=? and Password=?");
pst.setString(1,userId);
pst.setString(2, Pass);
rs = pst.executeQuery();
status = rs.next();
}
catch(Exception e){
System.out.println(e);
} finally {
if(con!=null){
try {
con.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
if(pst!=null){
try {
pst.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}
return status;
}
}
AND administrator.java是
package classes;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
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 administrator extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String i = request.getParameter("Userid");
String p = request.getParameter("userpassword");
HttpSession session = request.getSession(false);
if(session!=null)
session.setAttribute("Administrator Id",i);
if(Controller.validate(i,p)){
RequestDispatcher rd = request.getRequestDispatcher("creat_date.jsp");
rd.forward(request, response);
}
else {
out.print("<p style="color:red">Sorry User id or Password error!</p>");
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
rd.include(request, response);
}
}
}
mysql数据库名称为meeting_planner表名:管理员属性名称为AId、Password、name、Emailindex.jsp是一个登录页面,它获取属性AId和Password的值,并对数据库中的数据进行身份验证,并将控件发送到creat_date.jsp
更改
con = DriverManager.getConnection("url+dbName,UserId=?&password=?");
至
con = DriverManager.getConnection(url+dbName, UserId, password);
您应该使用camelCase来命名您的变量。http://en.wikipedia.org/wiki/CamelCase
您不使用字符串串联。尝试从以下位置更改:
con = DriverManager.getConnection("url+dbName,UserId=?&password=?");
收件人:
con = DriverManager.getConnection(url + dbName, UserId, password);