导航:首页 > 编程语言 > java如何实现用户登录

java如何实现用户登录

发布时间:2024-12-03 04:12:17

『壹』 java编写一个界面 用户登陆系统

import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

@SuppressWarnings("serial")
public class MainFrame extends JFrame {
JLabel lbl1 = new JLabel("用户名:");
JLabel lbl2 = new JLabel("密 码:");
JTextField txt = new JTextField("admin",20);
JPasswordField pwd = new JPasswordField(20);
JButton btn = new JButton("登录");
JPanel pnl = new JPanel();
private int error = 0;

public MainFrame(String title) throws HeadlessException {
super(title);
init();
}

private void init() {
this.setResizable(false);

pwd.setEchoChar('*');

pnl.add(lbl1);
pnl.add(txt);
pnl.add(lbl2);
pnl.add(pwd);
pnl.add(btn);
this.getContentPane().add(pnl);

btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if ("admin".equals(new String(pwd.getPassword()))){
pnl.removeAll();
JLabel lbl3 = new JLabel();
ImageIcon icon = new ImageIcon(this.getClass().getResource("pic.jpg"));
lbl3.setIcon(icon);
pnl.add(lbl3);
}
else{
if(error < 3){
JOptionPane.showMessageDialog(null,"密码输入错误,请再试一次");
error++;
}
else{
JOptionPane.showMessageDialog(null,"对不起,您不是合法用户");
txt.setEnabled(false);
pwd.setEnabled(false);
btn.setEnabled(false);
}
}
}
});
}

public static void main(String[] args) {
MainFrame frm = new MainFrame("测试");
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setBounds(100, 100, 300, 120);
frm.setVisible(true);
}
}

随手写的, 没调试图片, 太麻烦

『贰』 如何通过后端(Java)实现微信三方登录

实现微信三方登录,需先在微信开放平台获取APPID、SECRET及回调域三个关键信息。建议公司申请并提供给开发者直接使用。

用户在网站上点击带有APPID和回调域的a标签链接进行微信登录。登录后,系统将显示二维码,扫码并同意授权后,链接至回调地址,并返回授权码。这一步骤后,系统可以获取到授权码。

利用HttpClient工具发送第二个请求,通过授权码换取访问令牌access_token。需预先准备HttpClient工具和相应处理包。

后端接收并解析访问令牌,使用HttpClient调用微信接口获取令牌access_token与openid,即微信用户标识。通过fastjson库对返回的json数据进行处理。

获取到openid后,即可判断用户是否已绑定微信。如果已绑定,用户可实现免密登录;未绑定,则需通过第三方请求获取用户详细信息,完成数据库中的微信用户绑定。

针对未绑定或首次绑定的用户,可采用三种策略解决:使用随机密码和手机号作为用户名,初次只能微信登录,不便于用户体验(非最佳选择);初次微信登录时要求输入密码,之后使用微信登录直接通过,账号登录需手机号密码复合验证;初次绑定使用手机验证码完成,通过手机号绑定,下次登录可实现免密登录,并提供随机密码以供下次修改账号密码使用。

『叁』 用java怎样编写登录页面,成功登录跳转到下一个页面,求代码

以下是针对您提供的代码段进行润色和修正后的内容:
1. 修正了方法签名为 `public void validateUserPass(String user, String pass)`,确保方法名和参数符合Java的命名惯例。
```java
public void validateUserPass(String user, String pass) {
// ...
}
```
2. 引入了 `DBFactory` 类的实例化,并修正了数据库查询的方法,这里假设 `DBFactory` 是一个已定义的类,用于获取数据库连接。
```java
RequestDispatcher rd = null;
DBFactory db = DBFactoryImpl.getDBFactoryInstance();
boolean flg = db.findUser(user, pass);
// 如果查询结果为null,则表示用户不存在
if (flg == null || flg.hasNext() == -1) {
// 登录失败,设置错误消息
session.setAttribute("msg", "对不起,用户名或密码错误");
rd = req.getRequestDispatcher("login.jsp");
rd.forward(request, response); // 将请求对象和响应对象传递给登录页面
}
// 如果查询结果不为null,则表示用户存在
else {
// 登录成功,将用户信息保存在session中
session.setAttribute("userName", user);
// 使用重定向跳转到index.html页面
request.getRequestDispatcher("index.html").forward(request, response);
}
```
3. 修正了 `sendRedirect` 方法的使用,它应该用于重定向到另一个服务器资源或绝对路径。
```java
// 登录成功后,使用重定向跳转到index.html页面
request.getRequestDispatcher("index.html").forward(request, response);
```
4. 代码注释的添加,有助于其他开发者理解代码逻辑。
```java
// ...
// 检查用户是否存在
if (flg == null || flg.hasNext() == -1) {
// 设置登录失败的提示信息
session.setAttribute("msg", "对不起,用户名或密码错误");
// 转发到登录页面
rd = req.getRequestDispatcher("login.jsp");
rd.forward(request, response);
} else {
// 设置登录成功的用户信息
session.setAttribute("userName", user);
// 重定向到主页
request.getRequestDispatcher("index.html").forward(request, response);
}
// ...
```
5. 最后,提醒您在学习Java以及相关框架时,要重点理解请求转发和重定向的概念及其应用场景。请求转发是在服务器内部进行,重定向则是将客户端的请求发送到另一个URL。

『肆』 java写的用户登陆实例,用eclipse开发的具体步奏和代码

java写的用户登录实例,实际页面展示使用的jsp,那么下面是jsp的登录页面代码:
1、login.jsp代码
<%
string name = request.getparameter("username");
string pwd = request.getparameter("password");
//out.println(name+pwd);
string sql ="select * from info where username='"+name+"' and password='"+pwd+"'";
//out.println(sql);
statement stm= null;
resultset rs =null;
try
{
stm = conn.createstatement();
rs = stm.executequery(sql);
if(rs.next())
{
session.setattribute("username",name);
response.sendredirect("index.html");
}
else
{
response.sendredirect("index1.html");
}
}
catch(sqlexception e)
{
e.printstacktrace();
}
%>
<!--登录的表单-->
<form name="form1" method="post" action="login.jsp">
<p>
<label for="username"></label> 用户名
<input type="text" name="username" id="username">
</p>
<p>
<label for="passwrod"></label> 密码
<input type="text" name="passwrod" id="passwrod">
</p>
<p>
<input type="submit" name="button" id="button" value="提交">
</p>
</form>
2、用户信息表,存放用户名和密码:
user_info 表
create table if not exists `test` (
`id` int(8) not null auto_increment,
`username` char(150) default null,
`password` varchar(32),
`times` int(4) not null,
primary key (`id`)
) engine=myisam default charset=utf8 auto_increment=1 ;

阅读全文

与java如何实现用户登录相关的资料

热点内容
cad文件转为jpg文件 浏览:601
iphone日历怎么用 浏览:231
编程书籍哪个软件好 浏览:836
网络重置了怎么设置 浏览:599
学校电脑上编程是哪个软件 浏览:386
发U盘文件 浏览:705
什么招聘网站上有电话 浏览:90
哪些是软件编程 浏览:804
坦克世界下一个版本 浏览:376
catia编程和ug编程哪个好 浏览:461
寮步玩具网站建设什么价格 浏览:372
无锡老挝语文件翻译多少钱 浏览:694
查看apache版本linux 浏览:714
如何看懂html代码 浏览:590
文件形式下图片后缀 浏览:276
iphone6plus短信铃声 浏览:309
迅雷下载文件名tddownload 浏览:767
如何让路由器网络更加通畅 浏览:903
ai打开文件出现黑屏 浏览:602
学网站需要多少钱 浏览:436

友情链接