我有一个本地数据库,一个登录页面和一个servlet。我可以从数据库中获得我想要的值,例如用户名和密码。我还可以在html登录表单中获得用户输入。我对HTML使用Request.GetParameter。我想检查数据库中的用户名是否等于输入的用户名,以及数据库中的密码是否等于输入的密码,否则访问被拒绝。这是我的代码:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.Servlet;
import static com.sun.corba.se.spi.presentation.rmi.StubAdapter.request;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
import javax.servlet.RequestDispatcher;
import javax.sql.DataSource;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Jony
*/
public class LoginServlet extends HttpServlet {
private static Object request;
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Connection connection = null;
Statement stmt = null;
try {
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
}
//STEP 3: Open a connection
System.out.println("Connecting to database...");
connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/user_pass", "user", "pass");
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = connection.createStatement();
String sql;
sql = "SELECT username, password FROM information";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
//retrieve by column name
String usernamedb = rs.getString("username");
String passworddb = rs.getString("password");
if (usernamedb.equals(inputUsername) && passworddb.equals(inputPassword)) {
System.out.println("Login successful " + usernamedb + " " + passworddb);
} else {
System.out.println("Login failed " + usernamedb + " " + passworddb);
}
}
}
/**
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String title = "Welcome";
String docType =
"<!doctype html public \"-//w3c//dtd html 4.0 " +
"transitional//en\">\n";
out.println(docType + title);
String inputUsername = request.getParameter("Name");
String inputPassword = request.getParameter("Pass");
}
}
您正在混合基于命令行的java应用程序和基于servlet的应用程序。有关基本的servlet数据库示例,请参阅https://www.tutorialspoint.com/servlets/servlets-database-access.htm。
想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我想知道是否可以将字符串数组值与字符串进行比较,例如;我有一个字符串数组,上面有5个值我想知道哪个索引值具有a或b。我想到了一个主意,但没有成功。 基本上,如果索引0是a,则应打印“Apple”,如果是b,则应打印“ball”,依此类推。有没有办法将值或字符串数组与字符串进行比较?
我犯了一个错误,在数据库中将日期存储为VARCHAR,这里看起来是2018年12月2日,我使用carbon创建了一个变量来获取14天的当前日期。
如何比较两个列表是否相等验证数据来自Excel工作表。我需要验证两个列表是否相同,并且列表中没有附加元素或缺少元素。我不需要对列表进行排序。打印输出CAGID Excel data=CAGID Web列表
以下代码的输出为假 我不明白。我想它会返回true。在我为SCJP做准备时,了解其背后的原因可能会有所帮助。有人能帮忙吗?
我正在尝试将哈希检查从服务器应用程序移动到PostgreSQL。换句话说,我需要调用一个对PGSQL的查询,它将来自查询的字符串与来自字段的字符串进行比较,并将相等比较的结果返回为bool,但如果没有关于clear SQL的过程,我不知道如何实现这一点。 upd:我有字段密码的表用户(当前为文本,将来为bytea)。我想写点什么 它必须返回true或false作为相等比较的结果。
问题内容: 我有一个简单的疑问。如果有人帮助我,那就太好了。 我有两个字符串: 这两个值相等,但是如何在Java中比较它们呢?我们拥有并用于比较字符串alpha值,类似地,如何比较数字值。 问题答案: 这就对了。您可以使用方法将数字字符串转换为整数,该方法将返回类型。然后比较与相同。