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;}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验证出现问题解决办法相关推荐
- Vue+element登录页面实现拼图验证
Vue+element登录页面实现拼图验证 需求分析 一.导入 二.验证的意义 三.常规验证手段 详细设计 一.使用组件 二.轮子已找好,开始拼凑 效果展示 结尾 需求分析 一.导入 项目开发过程中, ...
- 密码密文 android,Android登录页面密码明文密文的切换
好多APP登录页面为了查看自己输入密码是否正确都添加了明文查看的方法,也就是所谓的小眼睛,把小眼睛的代码分享给大家. Activity: //声明id: private EditText etUser ...
- linux 查明文密码,登录页面密码支持明文查看
好多APP登录页面为了查看自己输入密码是否正确都添加了明文查看的方法,也就是所谓的小眼睛,把小眼睛的代码分享给大家. Activity: //声明id: private EditText etUser ...
- Spring Boot Security + Vue 登录成功后重定向无 Access-Control-Allow-Origin 问题解决办法
需要明确: 已正确配置跨域资源共享(CORS)(不然也不可能看到登录成功了). 已正确配置了跨站请求伪造(CSRF)(登录时需要携带 _csrf.token). 全部使用 POST 提交的数据. 本文 ...
- firefox访问页面 直接显示代码问题问题解决办法
情景描述: 调试好的页面,使用IE访问正常,但是使用firefox就会显示全部的代码,访问的页面如下: http://www.cgzg.net/index.shtml 一般来说,FireFox下浏览s ...
- 关于windows无法登录微软账号一直转圈的问题解决办法
1. 出现错误代码0x8009002d 解决办法: 1. win+r打开输入inetcpl.cpl重新设置网络 2. 启动TLS的几个版本,重置设置 2. 只是在登录时候转圈 1. 将网 ...
- 华为 P1 wifi 连接显示身份验证出现问题解决办法
最近买了个华为P1, 手机确实很棒.只是一直连不上家里的wifi,但是家里的笔记本电脑和一个iphone4却可以连上. 网上调查半天无果,后来找了客服mmgg,告诉我各种情况,其中一种是wifi的密码 ...
- 【微信小程序】—— wx.showToast 延迟页面跳转、一闪而过 问题解决办法
场景一: 发布文章,点击发布以后用wx.showToast显示发布成功后跳转,但此时基本没显示,直接跳转了 解决方法: wx.showToast({title: '发布成功',icon: 'succe ...
- transform: translate(-50%,-50%)导致的像素(前端页面字体模糊)模糊问题解决办法
前言 1.在复现过程中发现FireFox并不会出现模糊的问题,而Chrome和新版Edge会有,并且是在有滚动条时才会模糊 2.文本内容是否模糊还与屏幕有关,高清屏(dpr > 2)下不容易触发 ...
最新文章
- Java字节流文件流的练习
- vue/cli 3.0 与 2.0脚手架怎样mock数据
- 如果我们预先得知未来某一刻会因为此刻的决定而失败,那是否还会继续努力?
- 企业内部信息化项目管理之我所见
- Feign深入学习(二)
- oracle使用max提升效率,Oracle调优之利用max与leftjoin来进行不同表之间匹配
- 牛客 Bang! Bang!(动态规划)
- 性能测试基础之JMeter聚合报告详解
- 下列关于python语言中缩进说法中正确的是_以下关于 Python 语言中“缩进”说法正确的是:_物联网通信技术答案_学小易找答案...
- IC卡(智能卡)APDU通讯总结
- 官方win10安装教程,win10系统一键安装方法
- 【读】自动文摘——预备
- 一文读懂华为、小米、OV成为国产四强背后的秘诀?
- win10浏览器账户退出
- pyqtgraph的plotItem的轴刻度设置/轴刻度值风格设置
- 是否有唯一的 Android 设备 ID?
- ppt怎么把图片做成翻书效果_如何用PPT实现翻书效果?
- 台式计算机截图快捷键,电脑截屏的快捷键是什么
- LDAP未授权漏洞验证
- 中小团队落地配置中心详解
热门文章
- Speedoffice(excel)如何制作斜线表头
- 202107 VMware NSX-T培训笔记2(东西向网段间路由原理)
- 计算机开机硬盘扫描,win7系统开机自动扫描硬盘的原因及解决方法
- vue3的setup的使用和原理解析
- html怎么能调用微信语音,微信录音-微信录音功能新用法!【微信录音】怎么用...
- PS 给给人物磨皮(美白)
- 【转载】浅析金庸武侠小说中的哲理意蕴
- 深度:阿里云分布式关系型数据库DRDS解析
- 异步FIFO的verilog代码实现(包含将满和将空逻辑)
- html 判断text相等,实用的28个js验证