在登录页面中输入正确的信息还是显示用户名或密码错误

今天在做某马的Demo时遇到一个问题:数据库中正确的username,和password在页面上都输入正确后,提交表单时却显示用户名或密码错误,如图:

 开始我认为时Dao层(去数据库查找时)出现了问题,可能返回了空的对象,但是经过我的对比发现,和教程上讲的一样,后来我经过查找发现实际上是这部分抛出了异常。

 然后我感觉可能是将map赋值给user时出现了错误,然后我将user通过

System.out.println();

打印了一下,然后发现值全为null,如图

 然后我意识到是前边获取数据的问题。然后我确认了一下

Map<String, String[]> loginMap = request.getParameterMap();

这个代码无误后,感觉是jsp的name出现问题,然后开始了第n遍看视频,最后我意识到,自己定义的user类的属性名的大小写应该与jsp中的标签的name的名字一样,由于我自己在user中用了驼峰式,导致数据获取不到,如图

经过修改后,再次启动服务器,输入正确的用户名和密码就可以跳转成功了 。

总结:在编写时一定要注意单词大小写,前后一定要一致。自己Java刚刚入门,如果写的不好,大家见谅。

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
好的,您可以使用以下代码实现一个简单的用户登录界面: ```python import tkinter as tk from tkinter import messagebox def login(): username = username_entry.get() password = password_entry.get() if username == "lxt" and password == "123": # 如果用户名密码正确显示主界面 login_window.withdraw() # 隐藏登录窗口 main_window.deiconify() # 显示主窗口 else: # 如果用户名密码错误,弹出消息框提示错误信息 messagebox.showerror("登录失败", "用户名密码错误!") # 创建登录窗口 login_window = tk.Tk() login_window.title("用户登录") # 创建用户名标签、输入框和密码标签、输入框 username_label = tk.Label(login_window, text="用户名:") username_label.grid(row=0, column=0, padx=5, pady=5) username_entry = tk.Entry(login_window) username_entry.grid(row=0, column=1, padx=5, pady=5) password_label = tk.Label(login_window, text="密码:") password_label.grid(row=1, column=0, padx=5, pady=5) password_entry = tk.Entry(login_window, show="*") password_entry.grid(row=1, column=1, padx=5, pady=5) # 创建登录按钮 login_button = tk.Button(login_window, text="登录", command=login) login_button.grid(row=2, column=0, columnspan=2, padx=5, pady=5) # 创建主窗口 main_window = tk.Toplevel(login_window) main_window.title("主界面") main_window.withdraw() # 隐藏主窗口 # 创建主窗口的内容 label = tk.Label(main_window, text="欢迎使用本系统!") label.pack(padx=50, pady=50) # 启动主循环 login_window.mainloop() ``` 这段代码,我们创建了一个登录窗口和一个主窗口,当用户点击登录按钮时,会读取用户名密码,如果用户名密码正确,则隐藏登录窗口,显示主窗口;否则,弹出一个消息框提示错误信息。您可以根据需要修改代码的变量名、提示信息和主窗口的内容。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值