java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败相关的知识,希望对你有一定的参考价值。
java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败数据库内建有表内容为账号密码,程序已经能读出数据库内容,但不知道怎么编写将输入内容与对比
public class loginServlet extends HttpServletprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
String username=request.getParameter("user");
String password=request.getParameter("password");
Connection conn=null;
ArrayList users=new ArrayList();
boolean isLogin=false;
try
String url = "jdbc:mysql://localhost:3306/db_bookstore?"
+ "user=root&password=666666&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC";
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url);
String sql = "SELECT CustomerName,CustomerPwd from db_bookstore.tb_customerinfo";
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);
while(rs.next())
User user = new User();
user.setUsername(rs.getString("CustomerName"));
user.setPassword(rs.getString("CustomerPwd"));
users.add(user);
rs.close();
stat.close();
catch (SQLException e)
e.printStackTrace();
catch (ClassNotFoundException e2)
e2.printStackTrace();
finally
try // 关闭连接
if (conn != null)
conn.close();
conn = null;
catch (Exception ex)
for(int i=0;i<users.size();i++)
User user=(User)users.get(i);
String Username=(String)user.getUsername();
String Password=(String)user.getPassword();
System.out.println(Username);
if(Username.equals(username)&&Password.equals(password))//之前username放在前面时报了异常,估计时觉得username可能没有接受到数据,为空
isLogin=true;
if (isLogin == true)
response.sendRedirect(request.getContextPath() + "/index.jsp");
else
System.out.println("用户不存在");
response.sendRedirect(request.getContextPath() + "/login.jsp");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
doPost(request,response);
首先是连接数据库的四大操作,这个在网上随便都能找到;然后在进行数据库语言的查询操作。
参考技术A 如果是android,用 editText.getText().toString().equles(password);如果是swing,用 jTextField.getText().equles(password);
如果是servlet,在前端html中设置form的action地址为servlet-mapping,input标签的name为任意,在servlet中 request.getInitParameter(name).equles(password);
建议你回去好好看视频 参考技术B 把数据库里的内容提取出来与输入的密码相比较追问
就是不知道怎么去比较
数据库里面有账号密码,两个都要进行比较吗
Win7远程桌面,连接,输入完账号密码,然后一直停在请稍后界面?
Win7远程桌面,连接,输入完账号密码,然后一直停在请稍后界面?请问什么问题?如果不清楚是什么问题,那么有没有什么办法可以在不重装系统的情况下修复远程桌面?
win7远程桌面连接,下面给大家带来解决方法。
1、首先打开电脑开始菜单中【所有程序】里的【附件】,点击打开里面的【远程桌面连接】。
2、打开远程桌面连接窗口,在计算机中输入IP地址,如果有设置端口需要加上端口号,如下图所示。
3、点击【连接】按钮,弹出信任确认框点击【连接】,如下图所示。
4、输入登录权限的用户与密码,如下图所示。
5、点击【显示选项】可以对远程桌面进行高级设置,如下图所示。
6、最后点击【显示】选项卡,可以通过调整大小来设置远程桌面的大小,如下图所示问题就解决了。
参考技术A将电脑设置调整为允许远程连接模式。
1.设置允许远程桌面访问,在要被远程访问的计算机的桌面上,右击【我的电脑】-【系统属性】,然后勾选【允许用户远程连接到此计算机】。
2.点击【开始】-【运行】,输入 gpedit.msc,回车。
3.在【组策略】对话框,依次展开【Windows 设置】-【安全设置】-【本地策略】-【安全选项】。
电脑便可以打开远程桌面,可以不用账户密码而通过远程来控制电脑。
参考技术B 回答win7远程桌面连接,下面给大家带来解决方法。1、首先打开电脑开始菜单中【所有程序】里的【附件】,点击打开里面的【远程桌面连接】。2、打开远程桌面连接窗口,在计算机中输入IP地址,如果有设置端口需要加上端口号,如下图所示。3、点击【连接】按钮,弹出信任确认框点击【连接】,如下图所示。4、输入登录权限的用户与密码,如下图所示。5、点击【显示选项】可以对远程桌面进行高级设置,如下图所示。6、最后点击【显示】选项卡,可以通过调整大小来设置远程桌面的大小,如下图所示问题就解决了。
参考技术C很多答案都是答非所问。远程请稍候之个问题存在已久,微软一直没有解决,百度搜索很多答案都是答非所问。我这里整理了15种详细的解决这个问题的方法。
Windows RDP远程登录(mstsc)卡死一直等待变成请稍候(Please Wait)的画面解决办法集锦(更新第5次)。
一共陆续整理收集并更新了15种办法(前后花了3天时间),总有一种方法能解决你的问题。
相信很多人都遇到过,但搜索国内所有网站,均没有一个根本性的解决方案,很多都是答非所问。都不能解决问题,花了约3个小时整理最全的解决办法,写在这里。看看可否帮到有同样问题的网友。
一、问题症状
服务器是运行Windows Server 2019的共享虚拟服务器上的一个虚拟机,有时可能是正常实体服务器。我是通过Win10远和到这个服务器,位于位置A的远程Windows 10计算机通常通过RDP连接到到C处的服务器没有问题,但偶尔(每隔几周或一个月,有时频繁时隔几天)它会在一个小时左右的时间内无法连接。
看到的出错消息包括:
请稍候 或 Please Wait
“请等待本地会话管理器”(永远,有时在连接几分钟后)<-这是最常见的。
"远程桌面无法连接到远程计算机"
"正在重新连接-连接已经丢失。正在尝试重新连接到您的会话..."(永不重新连接)
"您的远程桌面服务会话已经结束。"
但位置B的远程Windows 7计算机几乎总是能够毫无问题地RDP连接到服务器,即使位置A的计算机无法连接。
如果通过位置B的Win 7机器正常RDP重新启动服务器,那么通常Win 10机器没有问题。这种情况时有发生。
应该是与Windows更新有关,导致 windows远程卡在某个用户登录上,一直死锁了。
使用其它方式登录则正常:使用VNC登录正常 使用本地登录正常 使用虚拟机网页登录虚拟机也正常。就是RDP会一直请稍假。
很多时间是合上笔记本电脑的盖子。该操作会使笔记本电脑进入睡眠状态。再从睡眠状态恢复后再远程就出现这个问题。
有时是我的笔记本电脑与同一个微软帐户登录连接RDP,而我的手机,我的Pad和其他人的Windows PC将卡在Please Wait屏幕。
事件日志可能出现受阻的事件
二、解决办法
1、在服务器本地登录或其它电脑远程登录,重启服务器
这个方法不是一个长久的办法,只能临时解决问题,不是一个最佳的解决办法。
使用另一个管理员账号从另一台电脑登录(如本电脑无法登录的情况下)或在服务器本地登录,然后重启服务器,这样就解决了,缺点是之前远程操作的工作可能未保存,会丢失工作数据。
有人经常碰到这种情况。解决方法是远程重启机器。
也可用命令重新启动远程主机,在本地机器上运行下面的命令来重启我的远程机器,而无需从域中的其他windows计算机RDP登录。192.168.0.8是远程IP地址:
shutdown.exe /r /f /m \\\\192.168.0.8 /t 0
/r -重新启动
/f -强制进程关闭
/m \\\\host -其他主机上的远程操作
/t 00 -等待0秒
2、杀死rdp客户端
如果用户在远程连接时电脑进入了睡眠或休眠状态,再唤醒重新远程桌面可能就会卡在请稍候(我很多时候就是这种情况,不一定是休眠,可能是网络断了再重新连接远程),解决方法就是终止远程桌面的进程,然后重新启动程序。(小辣椒高效Office亲测成功)
即使没有活动的连接,msrdc.exe进程也会在后台运行,以便您在重新打开客户端时可以快速重新连接。您可以通过右键单击系统托盘区域中的Windows虚拟桌面图标并选择在下拉菜单中断开所有会话。
您也可以用下面的CMD命令杀死它:
taskkill/f/im msrdc.exe
好像是RDP有什么东西卡住了;建议用以下方法杀死rdp客户端
taskkill /f /im msrdc.exe
具体步骤
1) win+R 快捷键打开运行窗口,输入cmd (或者搜索cmd,然后右键命令提示符选择“以管理员身份运行”)
2)输入“taskkill /f /im msrdc.exe” 并按“Enter” 回车键。
3、在服务器手动运行或定时运行脚本
运行这个命令度试,重启远程桌面服务
Restart-Service -Force -Name "TermService"
或者
Restart-Service -Force -DisplayName "Remote Desktop Services"
也可在服务器上创建了一个计划任务,以结束目标机器上的RDP会话。这不是一个彻底的解决方案,但至少是一个变通办法。
我每天晚上在本地域服务器上运行的PowerShell:
$ID=query session /SERVER:你的服务器名称|select -skip 1|%$_.Split(' ',[System.StringSplitOptions]::RemoveEmptyEntries)
Disconnect-RDUser -HostServer 你的服务器名称 -UnifiedSessionID $ID[8] -Force
exit 0
4、macOS上将选项设置为“需要时询问”以获取凭证
有时出问题是使用已保存的凭据进行连接会出现这个错误。
我在macOS上,将选项设置为“需要时询问”以获取凭证。
当提示我只给了我的用户名,它试图登录,但因为我没有给密码,它显示windows登录屏幕。
短期解决方案,但希望这有所帮助
5、用其它账号进入再连接无法连接的帐号
我是这样解决这个问题的:
通过RDC连接到不同的帐户。
然后打开任务管理器。
导航到用户。
找到已挂起的用户帐户,即您无法连接到的帐户。
右键单击用户名并选择重新连接。
输入密码。
连接到所需的帐户。
6、修改RDP文件
Windows PC - RDP客户端方法-将RDP连接保存到.rdp文件,并通过记事本编辑配置,以添加将禁用NLA登录方法并强制Windows登录的配置行
打开微软的远程桌面RDP(开始->键入“mstsc”->回车),键入你要连接的IP地址
单击底部的“选项”按钮,然后单击“保存”将您的连接另存为”.rdp”文件。记住您保存文件的位置。
点击开始,输入Notepad,回车
点击文件,找到你刚才保存的".rdp "文件并打开它。
滚动到最后一行,按enter添加另一行。
添加以下内容以关闭网络级身份验证:“enablecredssssupport:I:0”
点击文件,保存保存".rdp”文件
点击开始,输入“文件浏览器”
双击刚才保存“.rdp”文件 (tmtony)
连接,请参见Windows风格的登录屏幕。
输入您的凭证并通过“请稍候”屏幕
注意:添加此配置行后,当您双击此rdp文件,它将连接到Windows PC,然后显示登录页面,您必须手动输入用户名和密码。它将为您下次连接保存用户,而不是密码。你将不得不每次都输入它,但是你将至少通过“请等待”屏幕。
7、安卓手机方法
我发现的唯一解决方案是在Google Play商店下载免费的“aRDP Free”应用程序,并使用它进行连接。
它会在连接前询问用户和密码,但似乎使用Windows登录页面并选择“其他用户”,然后将用户和密码输入到框中,并回车。
如果你使用官方的MS RDP客户端,它将使用NLA,并停留在“请等待”。因为“aRDP Free”不使用NLA,所以它能够通过“请等待”。
但不知道这个应用程序是否可以在iOS上使用,但是如果可以的话,我认为它也可以成功连接并绕过“请等待”屏幕。
8、启用或禁用NLA
可能的通用解决方案(未经测试,有人请尝试)-在源PC上进行网络级认证(NLA)
这种方法来自微软的支持,我没有尝试过
如果我们禁用远程win10计算机上的NLA,并重新启动有问题的win10,同样的问题会发生吗?
HKEY _ LOCAL _ MACHINE \\ SYSTEM \\ current Control set \\ Control \\ Terminal Server \\ win stations \\ RDP-Tcp
REG_DWORD:安全层
值:为0更改2
但是启用或禁用NLA的小复选框实际上是下面的注册表项
HKEY _ LOCAL _ MACHINE \\ SYSTEM \\ current Control set \\ Control \\ Terminal Server \\ win stations \\ RDP-Tcp
REG_DWORD:用户验证
值:将1更改为0
9、用另一个管理员账号登录踢出卡死的账号
登录我的帐户(XXX)时遇到了类似的问题。解决方法是:
关闭远程登录窗口
使用另一个用户帐户本地登录(YYY)
再次远程登录XXX,把本地账户YYY踢出去
成功远程登录XXX
10、使用RdcMan关闭对应的会话
简单的解决方案:
1.使用远程桌面连接管理器RdcMan(sysinternals)登录挂起的会话
2.选择菜单:会话>注销服务器(或:会话>列出会话>注销)
远程重启(winRM、RPC)或在目标计算机上禁用NLA不需要其他访问权限
11、使用linux的远程连接工具
使用Linux系统下的xfreerdp连接,可以连接,然后重启其他客户端连接。
我觉得可能是客户端的一些连接选项造成的,尝试连接后没有复发。具体原因不知道。
12、网络位置感知服务(Network Location AwareNess)修改
网络位置感知服务从automatic 改成 automatic (delayed start)
13、使用命令来复位卡住的Sesstion (我使用的是此方法)
1)打开Powershell, 运行以下命令(小辣椒高效Office)
query user /server:<你的服务器名或IP>
2)记住被卡住(请稍候)的session ID。
3)再执行
reset session <SESSION ID> /server:<你的服务器名或IP>
这样就可解决了,可以写成一个通用的ps脚本来执行
最好的习惯是用完远程就登出Sesseion, 避免出现这种情况
14、有些可能是因为RD网关设置影响所致
在RDP高级-设置中-把RD网关关掉试试
15、在控制面板搜索windows凭据,打开Windows凭据
1)如果是第一次远程这个电脑IP,点击添加Windows凭据填写对应的ip地址、用户名和密码就可以了。
2)如果之前成功远程过此IP,但是现在连接出现请稍候,可以先将对IP或电脑名对应的凭据删除,然后再重新添加凭据
按上面处理后再通过远程桌面即可成功连接。
推荐 2、5、6、8、9 、13 这几种方法
三、相关知识:Win10 启动或关闭windows功能 一直显示“请稍后”的解决方法
办法一:
1、按下【Win+R】组合键呼出运行,输入:services.msc 点击确定打开服务;2、在服务界面中双击打开【Windows Modules Installer】,将【启动类型】修改为【自动】,点击【应用】-【启动】-【确定】即可。
办法二:
1、按下【win+R】打开运行,输入msconfig ;2、勾选【隐藏所有 Microsoft 服务】 点击【全部禁用】,点击【确定】保存设置即可后重启电脑即可。
花了3个小时搜集了最全的远程卡死(请稍候)的最全解决办法。希望对您有所帮助。
也可收藏 点赞及关注我们
不是网络不好,局域网就连不上。
以上是关于java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败的主要内容,如果未能解决你的问题,请参考以下文章