![](/img/trans.png)
[英]How do I check the value of the attribute aria-disabled as true or false in Krypton using Selenium and Java?
[英]How can I check in the database for true/false value in admin, and redirect accordingly? (web application)
我在Java Eclipse IDE上具有tomcat服務器和mysql數據庫的基本登錄系統。 我的以下代碼顯示了登錄驗證。 該程序在mysql數據庫中搜索employee_id和密碼,如果在數據庫中找到,它將重定向到頁面“ Options.html”。 如果找不到employee_id和密碼,它將顯示“雇員ID或密碼不正確,請重試”。 基本上,我想要的是以下內容:
我的表中有一列稱為Admin,其數據類型為TINYINT。 這基本上是一個布爾值,因此對於admin來說為1,如果不是admin則為0。 我希望驗證過程檢查用戶是否為管理員。 如果用戶是管理員,則希望它轉到Options.html(當前默認設置)。 如果用戶不是管理員,則希望它轉到另一個html頁面。 預先感謝,以下是我的文件。
Login.java(Servlet)
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Login extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String employee_id = request.getParameter("employee_id");
String password = request.getParameter("password");
if(Validate.checkUser(employee_id, password)) {
RequestDispatcher rs = request.getRequestDispatcher("Options.html");
rs.forward(request, response);
}
else
{
out.println("Employee ID or Password is incorrect. Please try again.");
RequestDispatcher rs = request.getRequestDispatcher("index.html");
rs.include(request, response);
}
}
}
Validate.java(類)
import java.sql.*;
public class Validate
{
public static boolean checkUser(String employee_id, String password)
{
boolean st = false;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll_system", "root", "");
PreparedStatement ps = con.prepareStatement("select * from employee_login where employeeID = ? and pwd = ?");
ps.setString(1, employee_id);
ps.setString(2, password);
ResultSet rs =ps.executeQuery();
st = rs.next();
}catch(Exception e)
{
e.printStackTrace();
}
return st;
}
}
您可以為驗證類具有兩個單獨的功能。
import java.sql.*;
public class Validate
{
public static boolean userIsAdmin(String employee_id, String password)
{
boolean st = false;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll_system", "root", "");
PreparedStatement ps = con.prepareStatement("select * from employee_login where employeeID = ? and pwd = ? AND admin=1");
ps.setString(1, employee_id);
ps.setString(2, password);
ResultSet rs =ps.executeQuery();
st = rs.next();
}catch(Exception e)
{
e.printStackTrace();
}
return st;
}
public static boolean userIsNotAdmin(String employee_id, String password)
{
boolean st = false;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll_system", "root", "");
PreparedStatement ps = con.prepareStatement("select * from employee_login where employeeID = ? and pwd = ? AND admin=0");
ps.setString(1, employee_id);
ps.setString(2, password);
ResultSet rs =ps.executeQuery();
st = rs.next();
}catch(Exception e)
{
e.printStackTrace();
}
return st;
}
}
然后將其添加到您的主目錄中:
if(Validate.userIsAdmin(employee_id, password)) {
RequestDispatcher rs = request.getRequestDispatcher("Options.html");
rs.forward(request, response);
}
else if(Validate.userIsNotAdmin(employee_id, password))
{
RequestDispatcher rs = request.getRequestDispatcher("other.url");
rs.include(request, response);
}
else
{
out.println("Employee ID or Password is incorrect. Please try again.");
RequestDispatcher rs = request.getRequestDispatcher("index.html");
rs.include(request, response);
}
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.