【发布时间】:2016-11-03 13:59:24
【问题描述】:
我有一个本地数据库、一个登录页面和一个 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 html database servlets