jsp登录页面密码equals验证出现问题解决办法

从数据库中取出的密码或者用户名后会带有一串的空格

所以equals比较时会显示错误

使用trim()函数去除空格就可以了

运行成功代码如下:

login.jsp

<%@ page import="java.sql.*" language="java" contentType="text/html; charset=utf-8"

pageEncoding="utf-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>登录界面</title>

</head>

<body>

<center>

<h1 style="color:red">登录</h1>

<form id="indexform" name="indexForm" action="logincheck.jsp" method="post">

<table border="0">

<tr>

<td>账号:</td>

<td><input type="text" name="username"></td>

</tr>

<tr>

<td>密码:</td>

<td><input type="password" name="password">

</td>

</tr>

</table>

<br>

<input type="submit" value="登录" style="color:#BC8F8F">

</form>

</center>

</body>

</html>

logincheck.jsp

<%@page import="Bean.DBBean"%>

<%@ page import="java.sql.*" language="java" contentType="text/html; charset=utf-8"

pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<jsp:useBean id="db" class="Bean.DBBean" scope="page"/>

<%

request.setCharacterEncoding("UTF-8");

String username=(String)request.getParameter("username");

String password=(String)request.getParameter("password");//取出login.jsp的值

//下面是数据库操作 *代表所有值

db.getconn();

String sql="select * from lhT where username="+"'"+username+"';";//定义一个查询语句

ResultSet rs=db.executeQuery(sql);//运行上面的语句

if(rs.next())

{

/* if(password.equals(rs.getString(2)))

{

} */

Boolean c= db.com(password,rs.getString("password"));

if(c){

response.sendRedirect("loginsuccess.jsp");

}

else{

out.print("<script language='javaScript'> alert('密码错误');</script>");

response.setHeader("refresh", "0;url=login.jsp");

}

}

else

{

out.print("<script language='javaScript'> alert('请输入用户名——else');</script>");

response.setHeader("refresh", "0;url=login.jsp");

}

%>

</body>

</html>

loginsussess.jsp

<%@ page import="java.sql.*" language="java" contentType="text/html; charset=utf-8"

pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Insert title here</title>

</head>

<body>

<h1>登录成功 </h1>

</body>

</html>

DBBean.java

package Bean;

import java.sql.*;

public class DBBean {

private String driverStr = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

private String connStr = "jdbc:sqlserver://localhost:1433; DatabaseName=lhsjk";

private String dbusername = "sa";

private String dbpassword = "123456";

private Connection conn = null;

private Statement stmt = null;

public DBBean() {}

public boolean com(String a,String b)

{

a=a.trim();

b=b.replaceAll("\s*", "");

System.out.println(a);

System.out.println(b);

if(a.equals(b))

{

return true;

}

else

return false;

}

public void getconn()

{

try

{

Class.forName(driverStr);

conn = DriverManager.getConnection(connStr, dbusername, dbpassword);

stmt = conn.createStatement();

}

catch (Exception ex) {

System.out.println(ex.getMessage());

System.out.println("数据连接失败!");

}

}

public int executeUpdate(String s) {

int result = 0;

System.out.println("--更新语句:"+s+"");

try {

result = stmt.executeUpdate(s);

} catch (Exception ex) {

System.out.println("执行更新错误!");

}

return result;

}

public ResultSet executeQuery(String s) {

ResultSet rs = null;

System.out.print("--查询语句:"+s+"");

try {

rs = stmt.executeQuery(s);

} catch (Exception ex) {

System.out.println("ִ执行查询错误!");

}

return rs;

}

public void execQuery(String s){

try {

stmt.executeUpdate(s);

} catch (SQLException e) {

// TODO Auto-generated catch block

System.out.println("执行插入错误!");

}

}

public void close() {

try {

stmt.close();

conn.close();

} catch (Exception e) {

}

}

}

文件结构目录:

jsp登录页面密码equals验证出现问题解决办法

---------------------

作者:冰咖啡ol

原文:https://blog.csdn.net/lyd20180717/article/details/85529831

版权声明:本文为博主原创文章,转载请附上博文链接!

相关推荐