如何将我的 servlet 连接到另一个类的布尔方法?



我尝试了一些变体,我当然导入了包含我在 Servlet 中输入的布尔方法的类,但它无论如何都看不到该方法。

这是我的类登录中的方法:


MyCon = Database.getConnection();
boolean result = false;
Statement statement = null;
ResultSet resultSet = null;

try {
String sql = "SELECT * FROM input_form WHERE username ='"+username+"'AND password='"+password+"'";
statement=MyCon.createStatement();
resultSet = statement.executeQuery(sql);
if (resultSet.next()) {
result=true;
}else {
result = false;
}
} catch (SQLException e) {

}
return result;

}
} ```
And when i need to access that method in servlet, it doesnt see it :
```protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
response.setContentType("text/html/charset-UTF-8");
out =response.getWriter();
boolean login = processLogin(username,password);  //this is where it doesnt see it
```
what could i do for my servlet to see the method?

创建需要调用的类object,然后使用该object调用所需的方法。所以你的doPost方法将如下所示:

String username = request.getParameter("username");
String password = request.getParameter("password");
response.setContentType("text/html/charset-UTF-8");
out =response.getWriter();
Login l1 =new Login();//creating object of class
boolean login = l1.processLogin(username,password); //using object to call the method
//do further process

另外,使用PreparedStatement来选择数据库中的值并避免任何SQL注入。所以你的方法代码将如下所示:

PreparedStatement ps = MyCon.prepareStatement("select *from input_form where username=? AND password= ?");
//setting value for "?"
ps.setString(1, username);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
//if true
if (rs.next()) {
result=true;
}else{
result = false;
}

最新更新