我是sql的新手,我正在使用netbeans和mysql。
我正在尝试创建一个servlet来检查数据库的登录详细信息。
我发现了一些代码,但它没有与数据库交互。我发现的每个例子也都不起作用。我做错了什么。
以下是一些代码
package login;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
/**
*
* @author john
*/
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String userName = request.getParameter("userName");
if (Validate.CheckUser(userName)) {
RequestDispatcher rs = request.getRequestDispatcher("Welcome");
rs.forward(request,
response
);
}
else
{
RequestDispatcher rs = request.getRequestDispatcher("index.html");
rs.include(request , response);
}
}
}
AND
package login;
import java.sql.*;
/**
*
* @author john
*/
public class Validate {
public static boolean CheckUser(String userName) {
boolean st = false;
try {
Class.forName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mynewdatabase?zeroDateTimeBehavior=convertToNull", "root", "admin");
PreparedStatement ps = con.prepareStatement("SELECT userName FROM userData where userName=?");
ps.setString(1, userName);
ResultSet rs = ps.executeQuery();
st = rs.next();
} catch (Exception e) {
e.printStackTrace();
}
return st;
}
}
为了使其连接到数据库,我需要采取哪些额外步骤。我正在使用最新版本的netbeans。
我已经将5.1.26-bin.jar文件放入库中了。 Mynewdatabase运行得很好(我之前在不同的应用程序中使用连接池连接JSP)。
此应用程序不会连接到数据库。我这里没有使用连接池。
任何帮助都会很棒。
答案 0 :(得分:2)
连接到数据库与NetBeans或servlet完全没有关系。我建议你在添加不必要的复杂功能之前让数据库类正常工作。
如果您发布错误,它会有所帮助。 “不工作”没有帮助。
你的MySQL驱动程序类看起来不正确。应该是com.mysql.jdbc.Driver
。
但是你的代码还有很多错误。
您的查询带回了用户名。没有密码?没用。
没有应用程序应使用root管理员密码访问数据库。为应用程序创建一个ID,并且只有GRANT足够的权限才能执行其任务。
您不会关闭方法中的资源。如果你让它运行,你会遇到问题。
如果你让它完全起作用,请回来。
答案 1 :(得分:0)
要从数据库中检索,您应该使用这种方式
while(rs.next())
{
String coulm1=rs.getString(1);
String column2=rs.getString(2);
}
答案 2 :(得分:0)
代码应该是这样的:
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mynewdatabase", "root", "admin");
您还需要将 mysql驱动程序 jar文件添加到类路径中。首先尝试使用数据库URL 中的简单参数连接数据库,然后在完全准备好后转移到复杂的数据库!