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

所以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;}elsereturn 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+"\n");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+"\n");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 blockSystem.out.println("执行插入错误!");}}public void close() {try {stmt.close();conn.close();} catch (Exception e) {}}
}

文件结构目录:

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

  1. Vue+element登录页面实现拼图验证

    Vue+element登录页面实现拼图验证 需求分析 一.导入 二.验证的意义 三.常规验证手段 详细设计 一.使用组件 二.轮子已找好,开始拼凑 效果展示 结尾 需求分析 一.导入 项目开发过程中, ...

  2. 密码密文 android,Android登录页面密码明文密文的切换

    好多APP登录页面为了查看自己输入密码是否正确都添加了明文查看的方法,也就是所谓的小眼睛,把小眼睛的代码分享给大家. Activity: //声明id: private EditText etUser ...

  3. linux 查明文密码,登录页面密码支持明文查看

    好多APP登录页面为了查看自己输入密码是否正确都添加了明文查看的方法,也就是所谓的小眼睛,把小眼睛的代码分享给大家. Activity: //声明id: private EditText etUser ...

  4. Spring Boot Security + Vue 登录成功后重定向无 Access-Control-Allow-Origin 问题解决办法

    需要明确: 已正确配置跨域资源共享(CORS)(不然也不可能看到登录成功了). 已正确配置了跨站请求伪造(CSRF)(登录时需要携带 _csrf.token). 全部使用 POST 提交的数据. 本文 ...

  5. firefox访问页面 直接显示代码问题问题解决办法

    情景描述: 调试好的页面,使用IE访问正常,但是使用firefox就会显示全部的代码,访问的页面如下: http://www.cgzg.net/index.shtml 一般来说,FireFox下浏览s ...

  6. 关于windows无法登录微软账号一直转圈的问题解决办法

    1. 出现错误代码0x8009002d 解决办法: 1. win+r打开输入inetcpl.cpl重新设置网络 2. 启动TLS的几个版本,重置设置 2. ​​​​​​​只是在登录时候转圈 1. 将网 ...

  7. 华为 P1 wifi 连接显示身份验证出现问题解决办法

    最近买了个华为P1, 手机确实很棒.只是一直连不上家里的wifi,但是家里的笔记本电脑和一个iphone4却可以连上. 网上调查半天无果,后来找了客服mmgg,告诉我各种情况,其中一种是wifi的密码 ...

  8. 【微信小程序】—— wx.showToast 延迟页面跳转、一闪而过 问题解决办法

    场景一: 发布文章,点击发布以后用wx.showToast显示发布成功后跳转,但此时基本没显示,直接跳转了 解决方法: wx.showToast({title: '发布成功',icon: 'succe ...

  9. transform: translate(-50%,-50%)导致的像素(前端页面字体模糊)模糊问题解决办法

    前言 1.在复现过程中发现FireFox并不会出现模糊的问题,而Chrome和新版Edge会有,并且是在有滚动条时才会模糊 2.文本内容是否模糊还与屏幕有关,高清屏(dpr > 2)下不容易触发 ...

最新文章

  1. Java字节流文件流的练习
  2. vue/cli 3.0 与 2.0脚手架怎样mock数据
  3. 如果我们预先得知未来某一刻会因为此刻的决定而失败,那是否还会继续努力?
  4. 企业内部信息化项目管理之我所见
  5. Feign深入学习(二)
  6. oracle使用max提升效率,Oracle调优之利用max与leftjoin来进行不同表之间匹配
  7. 牛客 Bang! Bang!(动态规划)
  8. 性能测试基础之JMeter聚合报告详解
  9. 下列关于python语言中缩进说法中正确的是_以下关于 Python 语言中“缩进”说法正确的是:_物联网通信技术答案_学小易找答案...
  10. IC卡(智能卡)APDU通讯总结
  11. 官方win10安装教程,win10系统一键安装方法
  12. 【读】自动文摘——预备
  13. 一文读懂华为、小米、OV成为国产四强背后的秘诀?
  14. win10浏览器账户退出
  15. pyqtgraph的plotItem的轴刻度设置/轴刻度值风格设置
  16. 是否有唯一的 Android 设备 ID?
  17. ppt怎么把图片做成翻书效果_如何用PPT实现翻书效果?
  18. 台式计算机截图快捷键,电脑截屏的快捷键是什么
  19. LDAP未授权漏洞验证
  20. 中小团队落地配置中心详解

热门文章

  1. Speedoffice(excel)如何制作斜线表头
  2. 202107 VMware NSX-T培训笔记2(东西向网段间路由原理)
  3. 计算机开机硬盘扫描,win7系统开机自动扫描硬盘的原因及解决方法
  4. vue3的setup的使用和原理解析
  5. html怎么能调用微信语音,微信录音-微信录音功能新用法!【微信录音】怎么用...
  6. PS 给给人物磨皮(美白)
  7. 【转载】浅析金庸武侠小说中的哲理意蕴
  8. 深度:阿里云分布式关系型数据库DRDS解析
  9. 异步FIFO的verilog代码实现(包含将满和将空逻辑)
  10. html 判断text相等,实用的28个js验证