java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败相关的知识,希望对你有一定的参考价值。

java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败数据库内建有表内容为账号密码,程序已经能读出数据库内容,但不知道怎么编写将输入内容与对比

public class loginServlet extends HttpServlet 
    protected 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个小时搜集了最全的远程卡死(请稍候)的最全解决办法。希望对您有所帮助。

    也可收藏 点赞及关注我们 

本回答被提问者和网友采纳
参考技术D 这个说明网络异常,或者网络不好。关闭后重新试试。追问

不是网络不好,局域网就连不上。

以上是关于java设置一个登录界面输入账号密码,与数据库内账号密码相比较,正确显示登录成功反之失败的主要内容,如果未能解决你的问题,请参考以下文章

登录页面记住账号密码后input输入框自动填充账号密码问题

怎么记住登录过的网页账号密码?

Win7远程桌面,连接,输入完账号密码,然后一直停在请稍后界面?

旺店通怎么切换账号

idea运行项目登录界面输入账号密码却不跳转

用Java实现一个抽奖系统(附完整代码)