java登录注册代码原理 java登陆注册代码

java编写一个登陆和注册信息的源代码,最简单的就可以,不需要数据库的那种你这个不用数据库真的是有点难搞
我写了个用集合存储的,你看看,能否帮上你
java.util.ListString list = new ArrayListString();
list.add("qq=123");//存储的时候用(用户名=密码)的形式
list.add("ww=456");
String username = "qq";
String password = "123";
for (int i = 0; ilist.size(); i) {
String num = username"=" password;
if(num.equals(list.get(i))){
System.out.println("登录成功");
break;
}
}
用java做软件的注册机是什么原理?- - 软件注册机 只能是定制的 , 比如你office的注册机就不能再photoshop上用 ..
软件注册机就是 破解了 软件授权码的加密方式 .. 然后自己生成一个key
但是有些软件的注册机是需要读内存块的 .. 所以那些java是做不到的.
java注册用户名不能重复代码首先java登录注册代码原理,java登录注册代码原理我们得明白用户登录使用什么登陆的,即用户在线的原理 。这只是将用户的对象存放在了session中而已,然后再frame中进行调用 , 其他特定页面也进行直接引用就行 。那么实现“挤下来”的功能就是让新生成的session有效,让原来存放用户的session失效就行 。到此,大体思路已经有了 。那怎么实现呢?
想要知道怎么实现,就必须要明白session存放用户对象的过程了 。在用户登录之后 , 我们可以得到用户的对象user,而存放到session中需要执行session.setAttribute(key,value); 我们将用户的userId或是其他的唯一标识存为key,将用户对象存为值 。这样就能随时随地调用唯一用户了 。user存放的问题解决了,那相同 登录 时session废除的问题呢?
?
这个其实也不难,我们可以更具session的特性一样,用map进行存贮 , 将用户的标识存为key,而将其所对应的session存为value,那么当重复用户登录时,只需要取出对应的session,将其invalidate就行了 。
至此 , 实现思路已经明了 , 聒噪了这么久 , 大家都急不可耐地想看代码了吧?以下是代码:
前置准备,jsp界面
界面很简单,只是一个简单的登录界面
form action ="%=request.getContextPath()%/UserWXPServlet" method = "post"
用户名?input type = "text" name = "username"/br/
密码?input type = "text" name = "password"/br/
input type = "submit" value ="https://www.04ip.com/post/提交"/
/form
成功后跳转页面
欢迎:${sessionScope.user.username}登陆java登录注册代码原理!br/
我这没有写失败页面,大家可以自己写,失败页面也没什么好说的了
entity和登录的实现
user的javabean
private String username;
private String password;
public User() {
}
public User(String user, String password) {
super();
this.username = user;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
登录user的service实现方法,这里就不写dao和接口了,一切以简单为
public boolean dologin(User user){
Properties pro = new Properties();
InputStream is = UserWXPServlet.class.getClassLoader().getResourceAsStream("user_wxp.properties");
String password = null;
System.out.println(is "---------" pro);
if(user==null){
return false;
}
try {
pro.load(is);
password = pro.getProperty(user.getUsername());
if(user.getPassword()!=nulluser.getPassword().equals(password)){
System.out.println("登陆成功");
return true;
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(is!=null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return false;
}
登录成功返回true,失败则返回false 。
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 * fromuser 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实现简单的登录和注册功能,主要是为了了解怎样对数据库进行增删改查 。和各种请求处理 , //User 用户的基本信息java登录注册代码原理,也是USERINFO表中的3个列
package
登陆判断;
public class User {
private String name;
private String loginname;
private String
loginpsw;
public String getName() {
return name;
}
public
void setName(String name) {
this.name = name;
}
public String
getLoginname() {
return loginname;
}
public void
setLoginname(String loginname) {
this.loginname =
loginname;
}
public String getLoginpsw() {
return
loginpsw;
}
public void setLoginpsw(String loginpsw)
{
this.loginpsw = loginpsw;
}
}
//用于注册和登陆的小小代码块
package
登陆判断;
import java.util.Scanner;
public class In {
public static User getUser(){
User u = new User();
Scanner sc =
new
Scanner(System.in);
System.out.println("请输入登陆名");
u.setLoginname(sc.nextLine());
System.out.println("请输入密码");
u.setLoginpsw(sc.nextLine());
return
u;
}
public static User registerUser(){
User u = new
User();
Scanner sc = new
Scanner(System.in);
System.out.println("请注册用户名名");
u.setName(sc.nextLine());
System.out.println("请注册登陆名");
u.setLoginname(sc.nextLine());
System.out.println("请注册密码");
u.setLoginpsw(sc.nextLine());
return
u;
}
}
//登陆时的检查java登录注册代码原理 , 判断登陆名和密码是否正确java登录注册代码原理 , 正确则返回 用户名
package 登陆判断;
import java.sql.Connection;
import java.sql.DriverManager;
import
java.sql.PreparedStatement;
import java.sql.ResultSet;
import
java.sql.SQLException;
public class Check {
public static void checkUser(User u)
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch
(ClassNotFoundException e) {
e.printStackTrace();
}
String
url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user =
"scott";
String password = "tiger";
Connection conn =
null;
ResultSet rs = null;
PreparedStatement pst =
null;
String sql = "Select name from USERINFO where loginname = ? and
loginpsw = ? ";
try {
conn = DriverManager.getConnection(url, user,
password);
pst = conn.prepareStatement(sql);
pst.setString(1,
u.getLoginname());
pst.setString(2,u.getLoginpsw());
rs =
pst.executeQuery();
while(rs.next()){
u.setName(rs.getString(1));
}
}
catch (SQLException e) {
e.printStackTrace();
}finally{
try
{
rs.close();
pst.close();
conn.close();
} catch
(SQLException e)
{
e.printStackTrace();
}
}
if(u.getName() == null ||
u.getName().isEmpty()){
System.out.println("登陆失败");
}else{
System.out.println("欢迎" u.getName() "登陆");
}
}
}
//注册界面,要判断 登陆名是否有重复,有重复则注册失败 。有点小疑问,已用注释标出来
package 登陆判断;
import java.sql.Connection;
import java.sql.DriverManager;
import
java.sql.PreparedStatement;
import java.sql.ResultSet;
import
java.sql.SQLException;
import java.sql.Statement;
public class Register {
public static void registUser(User u){
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch
(ClassNotFoundException e) {
e.printStackTrace();
}
String
url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user =
"scott";
String password = "tiger";
Connection conn =
null;
String sql = "Insert Into USERINFO
values(?,?,?)";
PreparedStatement pst =
null;
//判断登陆名是否已经存在
Statement s = null;
ResultSet rs =
null;
String sql_ck = "Select LOGINNAME FROM USERINFO";
try
{
conn = DriverManager.getConnection(url, user, password);
pst =
conn.prepareStatement(sql);
pst.setString(1,
u.getName());
pst.setString(2, u.getLoginname());
pst.setString(3,
u.getLoginpsw());
//判断登陆名是否已经存在
s =
conn.createStatement();
rs =
s.executeQuery(sql_ck);
while(rs.next()){//为什么用 rs.getString(2)会提示
无效的索引呢
if( rs.getString("LOGINNAME").equals(u.getLoginname())
){
System.out.println("登陆名已经存在,注册失败");
break;
}else{
pst.executeUpdate();
System.out.println("注册成功");
break;
}
}
}
catch (SQLException e) {
e.printStackTrace();
}finally{
try
{
rs.close();
pst.close();
s.close();
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}
//main界面//
//数据库中表的结构式这样
//name(用户名,用于显示),
//loginname(登录名,即登陆时输入的ID)
//loginpsw(登陆时输入的密码)
package
登陆判断;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int chos = 0;
Scanner sc = new
Scanner(System.in);
System.out.println("\t\t登陆请按1\t\t注册请按2");
chos =
sc.nextInt();
switch(chos){
case 1:
Check.checkUser(In.getUser());break;
case 2:
Register.registUser(In.registerUser());break;
default:
System.out.println("请输入正确的选择");break;
}
}
}
java web网页登录功能原理(最好有代码?页面将登录名
密码传到后台,后台将登录名密码进行查询数据库比对,如果正确就将用户保存到session中做个标记 。下次访问时
如果session中有用户就说明登录了,没有就需要重新登录 。
【java登录注册代码原理 java登陆注册代码】关于java登录注册代码原理和java登陆注册代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读