「java的登录方法」java实现登陆功能简单案例

博主:adminadmin 2022-12-22 13:18:08 75

今天给各位分享java的登录方法的知识,其中也会对java实现登陆功能简单案例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java语言实现用户注册和登录

//这个是我写的,里面有连接数据库的部分。你可以拿去参考一下

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.sql.*;

class LoginFrm extends JFrame implements ActionListener// throws Exception

{

JLabel lbl1 = new JLabel("用户名:");

JLabel lbl2 = new JLabel("密码:");

JTextField txt = new JTextField(5);

JPasswordField pf = new JPasswordField();

JButton btn1 = new JButton("确定");

JButton btn2 = new JButton("取消");

public LoginFrm() {

this.setTitle("登陆");

JPanel jp = (JPanel) this.getContentPane();

jp.setLayout(new GridLayout(3, 2, 5, 5));

jp.add(lbl1);

jp.add(txt);

jp.add(lbl2);

jp.add(pf);

jp.add(btn1);

jp.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent ae) {

if (ae.getSource() == btn1) {

try {

Class.forName("com.mysql.jdbc.Driver");// mysql数据库

Connection con = DriverManager.getConnection(

"jdbc:mysql://localhost/Car_zl", "root", "1");// 数据库名为Car_zl,密码为1

System.out.println("com : "+ con);

Statement cmd = con.createStatement();

String sql = "select * from user where User_ID='"

+ txt.getText() + "' and User_ps='"

+ pf.getText() + "'" ;

ResultSet rs = cmd

.executeQuery(sql);// 表名为user,user_ID和User_ps是存放用户名和密码的字段名

if (rs.next()) {

JOptionPane.showMessageDialog(null, "登陆成功!");

} else

JOptionPane.showMessageDialog(null, "用户名或密码错误!");

} catch (Exception ex) {

}

if (ae.getSource() == btn2) {

System.out.println("1111111111111");

//txt.setText("");

//pf.setText("");

System.exit(0);

}

}

}

public static void main(String arg[]) {

JFrame.setDefaultLookAndFeelDecorated(true);

LoginFrm frm = new LoginFrm();

frm.setSize(400, 200);

frm.setVisible(true);

}

}

用java程序实现自动登录

之前,也考虑过使用单点登录,几经尝试之后还是放弃了。

我习惯使用Java,本能地开始寻找Java的解决方法,在Google中输入"Java自动登录"、"Java网页模拟登录"、"JavaPost登录",结果倒是不少,内容也差不多,我尝试很多次终究也没有达到我预期的目标。后来,我都不知道这些代码应该在jsp页面中执行还是在c/s结构的程序中执行。但这些代码确实管用。 我们先分析一下代码: URLurl=newURL(surl); URLConnectionconn=url.openConnection(); conn.setDoOutput(true); OutputStreamWriterout=newOutputStreamWriter(conn.getOutputStream()); Stringstr="username=yournamepassword=123456"; out.write(str); out.flush(); out.close(); 到这里,如果在C/S结构中,且参数正确,程序能够成功登录到这个oa系统,要看到结果,你可以通过下面的代码将系统服务器返回的结果System.out.println()出来。 Stringsling=""; Stringscontent=""; BufferedReaderin=newBufferedReader(newInputStreamReader(conn.getInputStream(),"UTF-8")); while((sling=in.readLine())!=null) scontent+=in+"\r\n"; System.out.println(scontent); 在C/S结构下,可以到得到控制台输出了返回值,从返回内容里可以看出程序已经成功登录,但要是把这个网址浏览器打开,还是得重新登录,问题没有得到根本解决。如果只是恶意注册,到这里应该就达到目的了。 看样子C/S结构下不容易实现网页程序自动登录,除非你在C/S程序中内嵌一个浏览器,直接在这个浏览器中自动访问系统,应该没有别的方法,主要问题在于我们没有办法共享Session. 为了便于共享Session,我们只能在浏览器中实现网页自动登录,通过上面的代码在jsp页面中测试,达不到预期目标。 网页自动登录,就是希望程序自动填充用户名和密码,然后以Post方式提交给登录页面的Form所指向的action页面或方法。我将系统的登录页面的源代码保存成一个网页,然后在username和password文本框中设置默认值,然后通过这网页登录系统,测试后,发现可行。接下来,你可能已经想到了解决方法。 我们可以通过url.openConnection()建立连接,将返回的scontent打印出来,然后接着打印以下代码: out.println("\r\n"); out.println("document.getElementsByName(\"username\")[0].value=yourname;\r\n"); out.println("document.getElementsByName(\"password\")[0].value=123456;\r\n"); out.println("document.forms[0].submit();\r\n"); out.println("\r\n"); 原理很简单,通过login.jsp将登录页面的全部源代码写在当前页面,然后使用javascript脚本将用户名和密码的值填充上,最后提交表单。这样中,终于实现了自动登录的目标。现在我通过一个特殊的网址,就可以自动访问这个oa了。 你可能注意到参数url,他的值是经过加密的,内容是用户名和密码。当然,你也可以加上有效期,即在有效期内这个链接才是有效的,才可以实现自动登录。

希望能解决您的问题。

Java后端小程序微信登录怎么写??

其实还蛮简单的,可以说一搜一大把,下面说下两种方式。

自行开发

主要就是通过小程序端直接请求登录获取到code(登录凭证)、如果需要获取用户手机号则需要再次授权需要iv和encryptedData,注意这里授权两次,也可以作为一次处理。

(1) 后端接收到小程序端请求的code,进行解密,可以参考微信小程序开发文档,拿到openId和session_key,这一步如果是已经注册的用户可以直接将后台分配的token一起组成对象存储到redis中,期限7-30天皆可,先从redis判定这个openId是否已经解析过且已存储为正式用户,是则直接返回系统的登录凭证完成登录。如果不是就需要走第二步。

(2)通过iv和encryptedData解析获取用户的手机号,完成解析后将用户信息存储,并一样存储到数据库和redis中,返回凭证。

2. 使用已经集成好的sdk,使用maven项目直接引入对象的jar即可。

举个栗子 weixin-java-miniapp 可以看下对应的文档说明,使用已经集成好的方法即可。

用JAVA语言编程实现一个用户登录窗口

方法一:

采用JOptionPane中的一个非常有用的静态方法 showOptionPane();

源码如下:

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

import javax.swing.JOptionPane;

import javax.swing.BoxLayout;

import javax.swing.Box;

import javax.swing.BorderFactory;

public class Login1 {

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

static void createAndShowGUI() {

JFrame mainFrame = new JFrame();

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setBounds(250,250,400,300);

mainFrame.setVisible(false);

usernameField = new JTextField(10);

passwordField = new JPasswordField(10);

Object[] options = {"登录","取消"};

int i = JOptionPane.showOptionDialog(null,createLoginPanel(),"登录信息",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);

if(i==0) {

String username = usernameField.getText();

String password = passwordField.getText();

if(!username.equals("") !password.equals("")) {

mainFrame.getContentPane().add(new JLabel("用户名:"+username+" 密码是:"+password,JLabel.CENTER));

mainFrame.show();

}

else {

JOptionPane.showMessageDialog(null,"用户名和密码不能为空","提示",JOptionPane.WARNING_MESSAGE);

System.exit(1);

}

}

else System.exit(0);

}

static JPanel createLoginPanel() {

JPanel ret = new JPanel();

JPanel usernamePanel = new JPanel();

usernamePanel.add(new JLabel("用户名:",JLabel.RIGHT));

usernamePanel.add(usernameField);

JPanel passwordPanel = new JPanel();

passwordPanel.add(new JLabel("密 码:",JLabel.RIGHT));

passwordPanel.add(passwordField);

Box box = new Box(BoxLayout.Y_AXIS);

box.add(usernamePanel); box.add(passwordPanel);

ret.add(box);

ret.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(244,144,44)),"填写登录信息"));

return ret;

}

static JFrame mainFrame = null;

static JTextField usernameField = null;

static JPasswordField passwordField = null;

}

运行:

javac -deprecation Login1.java

java Login

(因为有一个过期的API,所以用了 -deprecation 命令)

方法二,使用了两个JFrame类共同实现,第一次显示第一个frame,当点了登录后且操作合法时,第一个窗口就被释放了 dispose();再显示第二个窗口:

源码如下:

import java.awt.Color;

import java.awt.BorderLayout;

import java.awt.event.*;

import javax.swing.*;

public class Login2 {

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

static void createAndShowGUI() {

//////////////////////////////////////////////////////////////

loginWindow = new JFrame("登录信息");

loginWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

loginWindow.setBounds(350,350,250,200);

loginWindow.setResizable(false);

JPanel usernamePanel = new JPanel();

usernamePanel.add(new JLabel("用户名:",JLabel.CENTER));

usernamePanel.add(usernameField);

JPanel passwordPanel = new JPanel();

passwordPanel.add(new JLabel("密 码:",JLabel.CENTER));

passwordPanel.add(passwordField);

Box box = new Box(BoxLayout.Y_AXIS);

box.add(usernamePanel); box.add(passwordPanel);

JPanel infoPanel = new JPanel();

infoPanel.add(box);

infoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(244,144,44)),"填写登录信息"));

JButton submitButton = new JButton("登录");

JButton cancelButton = new JButton("取消");

submitButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String username = usernameField.getText();

String password = passwordField.getText();

if(!username.equals("") !password.equals("")) {

loginWindow.dispose();

mainFrame.getContentPane().add(new JLabel("用户名:"+username+" 密码是:"+password,JLabel.CENTER));

mainFrame.setVisible(true);

}

else {

JOptionPane.showMessageDialog(null,"用户名和密码不能为空","提示",JOptionPane.WARNING_MESSAGE);

System.exit(1);

}

}

});

cancelButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

JPanel buttonPanel = new JPanel();

buttonPanel.add(submitButton); buttonPanel.add(cancelButton);

loginWindow.getContentPane().add(infoPanel,BorderLayout.CENTER);

loginWindow.getContentPane().add(buttonPanel,BorderLayout.SOUTH);

loginWindow.getContentPane().add(new JPanel(),BorderLayout.EAST);

loginWindow.getContentPane().add(new JPanel(),BorderLayout.WEST);

loginWindow.setVisible(true);

/////////////////////////////////////////////////////////////////

mainFrame = new JFrame();

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setBounds(250,250,400,300);

mainFrame.setVisible(false);

}

static JFrame loginWindow,mainFrame;

static final JTextField usernameField = new JTextField(10);

static final JPasswordField passwordField = new JPasswordField(10);

}

运行:

javac -deprecation Login2.java

java Login2

关于javaWeb单点登录

描述:在A系统登录后,点击A系统的某个模块,登录到B系统。

解决思路:在B系统的后台代码获取B系统的用户名和密码,当点击A系统的某个模块时将用户名和密码通过url登录到B系统。
描述:点击A系统的退出按钮,同时退出B系统;

解决思路: 
在A系统的带有退出按钮的jsp页面,找到退出方法,将退出成功后执行的方法改为退出B系统。
描述:找到B系统的登录界面,通过js,执行页面加载完毕后执行

解决方案:Window.onload=function 在执行方法中执行A系统的登录接口,即可完成单点退出。

总结:A和B是两个工程,那就让A和B一个做客户端,一个做服务端,服务端可以把服务发布出来,客户端进行调用,就可以了啊,分布式开发。

用java来实现单点登录大概有哪些种方法

你这样入手,给你列出整个简单流程,你自己思考一下: 1)下载,配置 Tomcat。 2)写 JSP 与 Servlet ,调用 MySQL 或其他数据库。 3)在 Tomcat 部署你的应用程序。 4)在浏览器运行你的应用程序。 一个简单的测试系统,主要由两个页面组成就够...

java的登录方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现登陆功能简单案例、java的登录方法的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。