登陆界面 结果和实际有差距

img

img


麻烦各位看一下代码,暂时的一个登陆界面 为什么我把正确的账号密码输入进去,但弹窗显示的是密码错误

你那是俩输入框EditText 而不是TextView

 EditText edPwd = findViewById(R.id.editext1);
 EditText etUser = findViewById(R.id.editext2);
//然后再获取输入框里的值
 String strUserName = etUser.getText().toString().trim();
 String strPwd = edPwd.getText().toString().trim();
//再去用equals去对比你的账号密码

img


你这两个t1,t2 是个组件吧,不能直接用组件去比较吧,应该取组件的值,比如t1.text? 之类的 你这个组件应该有属性的

输出一下,账号密码,不就能看出问题在哪里了吗

1楼说的对,equals前后类型都不一样,必然是不能匹配

t1.getText().toString()获取内容去比较

常见的登录实现方式
cookie
1)用户登录认证之后,将用户信息保存在本地浏览器中cookie(还可以设置过期时间),

2)后面每次发起http请求,都自动携带上该信息,就能达到认证用户,保持用户在线。

cookie+session
1)用户登录成功之后,在服务端就会生成一个键值对。key叫做sessionid,value就保存ssession(用户信息),客户端那边就需要把sessionid存储到cookie。

2)后续的http请求会携带上sessionid,服务器就根据sessionid来查找对应的信息。

token
1)用户登录成功之后,token 由服务器本身根据算法生成后下发给客户端,服务器端无需额外存储。

2)客户端请求服务器时,在请求头中追加携带该token

3)服务器端对token进行验签,从而决定本次访问是拒绝还是放行。

Spring Boot 实战纪实(附源码)-登录