精华内容
下载资源
问答
  • 主要介绍了Java简易登录注册功能实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了Java CRM系统用户登录功能实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • java实现简单的登录注册功能,数据存储在一维数组中,实现登录,注册,修改密码,修改信息等功能,可以在讲课中当例子使用。
  • 使用Java代码实现登录注册功能

    万次阅读 多人点赞 2018-07-29 10:32:46
    实现思路:分别创建5个包和5个类{cn.f.pojo(User.java);cn.f.Dao(UserDao.java);cn.f.Dao.impl(UserDaoImpl.java); cn.f.game(GuessNumber.java); cn.f.test(UserTest.java)}...代码: package cn.f...

    实现思路:分别创建5个包和5个类{cn.f.pojo(User.java);cn.f.Dao(UserDao.java);cn.f.Dao.impl(UserDaoImpl.java); cn.f.game(GuessNumber.java);  cn.f.test(UserTest.java)}

    第一步:

     封装cn.f.pojo(User.java)类

    代码:

    package cn.f.pojo;

    public class User {
        private String name;
        private String mima;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getMima() {
            return mima;
        }

        public void setMima(String mima) {
            this.mima = mima;
        }

        public User(String name, String mima) {
            super();
            this.name = name;
            this.mima = mima;
        }

        public User() {
            super();
        }

        @Override
        public String toString() {
            return "User [name=" + name + ", mima=" + mima + "]";
        }

    }

     

    第二步:

    创建一个用户登录注册接口cn.f.Dao(UserDao.java)

    代码:

    package cn.f.Dao;

    import cn.f.pojo.User;

    public interface UserDao {
    //    这是登陆功能
    public abstract boolean isLogin(String name,String mima);
    //这是注册功能
    public abstract void regist(User user);

    }

     

    第三步:

    创建一个实现用户登录注册功能实现类cn.f.Dao.impl(UserDaoImpl.java)

    代码:

    package cn.f.Dao.impl;

    import java.util.ArrayList;

    import cn.f.Dao.UserDao;
    import cn.f.pojo.User;

    //这是用户操作具体实现类
    public class UserDaoImpl implements UserDao {
        // 为了让多个方法能够使用一个集合,就把集合定义为成员变量
        // 为了不让外人看到,就用private
        // 为了让多个对象共享同一个成员变量用static
        private static ArrayList<User> u = new ArrayList<User>();

        @Override
        public boolean isLogin(String name, String mima) {
            // 遍历集合,获取每一个用户,并判断该用户名和密码是否和传递过来的匹配
            boolean flag = false;
            for (User s : u) {
                if (s.getName().equals(name) && s.getMima().equals(mima)) {
                    flag = true;
                    break;
                }

            }
            return flag;
        }

        @Override
        public void regist(User user) {
            // 把用户信息存储集合

            u.add(user);

        }

    }

     

    第四步:

    增加用户体验用户注册登录成功后给用户玩个小游戏cn.f.game(GuessNumber.java)

    代码:

    package cn.f.game;

    import java.util.Scanner;

    public class GuessNumber {
        private GuessNumber() {

        }

        public static void strat() {
            // 产生一个随机数
            int number = (int) (Math.random() * 100) + 1;
            // 定义一个统计变量
            int count = 0;
            while (true) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入数据(1-100):");
                int guessNumber = sc.nextInt();
                count++;
                // 判断
                if (guessNumber > number) {
                    System.out.println("你猜的数据" + guessNumber + "大了");
                } else if (guessNumber < number) {
                    System.out.println("你猜的数据" + guessNumber + "小了");

                } else {
                    System.out.println("恭喜你,"+count+"次猜中了!");
                    break;
                }

            }

        }
    }

     

    第五步:

    实现用户登录注册功能测试cn.f.test(UserTest.java)

    代码:


    package cn.f.test;

    import java.util.Scanner;

    import cn.f.Dao.UserDao;
    import cn.f.Dao.impl.UserDaoImpl;
    import cn.f.game.GuessNumber;
    import cn.f.pojo.User;

    public class UserTest {
        static Scanner sc = new Scanner(System.in);
        // 多态
        static UserDao ud = new UserDaoImpl();

        public static void main(String[] args) {
            while (true) {
                // 欢迎界面,给出选项
                System.out.println("-------------欢迎光临--------------");
                System.out.println("1.登录");
                System.out.println("2.注册");
                System.out.println("3.退出");
                System.out.println("请输入你的选择:");
                // 键盘录入选择,根据选择做出不同的操作

                // 为了后面录入信息的方便,我所有的数据录入全部用字符接受
                String m = sc.nextLine();
                switch (m) {
                case "1":
                    denglu();
                    break;
                case "2":
                    zhuce();
                    break;
                case "3":

                default:
                    System.out.println("谢谢使用,欢迎下次再来!");
                    System.exit(0);
                }
            }
        }

        public static void denglu() {
            System.out.println("-------------登录界面(请先注册后再登录!)--------------");
            System.out.println("请输入用户名:");
            String n = sc.nextLine();
            System.out.println("请输入密码:");
            String p = sc.nextLine();
            // 调用登录功能
            boolean flag = ud.isLogin(n, p);
            if (flag) {
                System.out.println("登录成功!奖励你玩游戏。");
                System.out.println("你要玩吗?y/n");
                while (true) {
                    String r = sc.nextLine();
                    if (r.equalsIgnoreCase("y")) {
                        // 玩游戏
                        GuessNumber.strat();
                        System.out.println("是否继续游戏?y/n");
                    }else{
                        break;
                    }
                }
                System.out.println("谢谢使用,欢迎下次再来!");
                System.exit(0);
            } else {
                System.out.println("用户名或者密码有误,登录失败!");
            }
        }

        public static void zhuce() {
            // 注册界面,请输入用户名和密码
            System.out.println("-------------注册界面--------------");
            System.out.println("请输入用户名:");
            String name = sc.nextLine();
            System.out.println("请输入密码:");
            String mima = sc.nextLine();
            // 把用户名和密码封装到一个对象中
            User user = new User();
            user.setName(name);
            user.setMima(mima);
            // 调用注册功能
            ud.regist(user);
            System.out.println("注册成功!");
        }
    }

     

    代码运行结果:

    -------------欢迎光临--------------
    1.登录
    2.注册
    3.退出
    请输入你的选择:
    1
    -------------登录界面(请先注册后再登录!)--------------
    请输入用户名:
    232
    请输入密码:
    232
    用户名或者密码有误,登录失败!
    -------------欢迎光临--------------
    1.登录
    2.注册
    3.退出
    请输入你的选择:
    2
    -------------注册界面--------------
    请输入用户名:
    1234
    请输入密码:
    1234
    注册成功!
    -------------欢迎光临--------------
    1.登录
    2.注册
    3.退出
    请输入你的选择:
    1
    -------------登录界面(请先注册后再登录!)--------------
    请输入用户名:
    1234
    请输入密码:
    1234
    登录成功!奖励你玩游戏。
    你要玩吗?y/n
    y
    请输入数据(1-100):
    67
    你猜的数据67小了
    请输入数据(1-100):
    87
    你猜的数据87大了
    请输入数据(1-100):
    80
    你猜的数据80大了
    请输入数据(1-100):
    78
    你猜的数据78大了
    请输入数据(1-100):
    76
    你猜的数据76大了
    请输入数据(1-100):
    74
    你猜的数据74小了
    请输入数据(1-100):
    75
    恭喜你,7次猜中了!
    是否继续游戏?y/n
    n
    谢谢使用,欢迎下次再来!

     

    展开全文
  • Java用户登录验证代码

    2020-09-01 18:49:09
    本文给大家使用java代码实现用户登录验证功能,当用户输入三次错误后,用户不可以再次登录的。具体实现代码,大家可以参考下本教程
  • 通常我们登录某网站,会有选择保存几天,或者是几个星期不用登录,之后输入该网站地址无需登录直接进入主页面,那么这就叫做自动登录,怎么实现呢,下面我以一个小例子来演示一下 登录页面:login.jsp Html...

    通常我们登录某网站,会有选择保存几天,或者是几个星期不用登录,之后输入该网站地址无需登录直接进入主页面,那么这就叫做自动登录,怎么实现呢,下面我以一个小例子来演示一下

    登录页面:login.jsp

    Html代码  收藏代码
    1. <span style="font-size: medium;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
    2. <html>  
    3.   <head>  
    4.   </head>  
    5.   <body>  
    6.   <form action="login.do">  
    7.     用户名:<input type="text" name="username" ><br/>  
    8.     密    码:<input type="text" name="password" ><br/>  
    9.       
    10.     <input type="submit" value="登录" /><select name="saveTime">  
    11.     <option value="366">一年</option>  
    12.     <option value="183">半年</option>  
    13.      <option value="30">一个月</option>   
    14.      <option value="7">一周</option>  
    15.     </select>  
    16.   </form>  
    17.   </body>  
    18. </html>  
    19. </span>  

     

    那么从上面可看到可选择保存自动登录的期限,可以是一年,半年,一个月,一周,当然这都是以天为单位的

    服务类:LoginService

    Java代码  收藏代码
    1. <span style="font-size: medium;">package com.login.servlet;  
    2.   
    3. public class LoginService {  
    4.   
    5.     public static boolean login(String username, String password) {  
    6.         if ("admin".equals(username) && "123456".equals(password)) {  
    7.             return true;  
    8.         } else {  
    9.             return false;  
    10.         }  
    11.     }  
    12. }  
    13. </span>  

    业务处理servlet:LoginServlet

    Java代码  收藏代码
    1. <span style="font-size: medium;">package com.login.servlet;  
    2.   
    3. import java.io.IOException;  
    4.   
    5. import javax.servlet.ServletException;  
    6. import javax.servlet.http.Cookie;  
    7. import javax.servlet.http.HttpServlet;  
    8. import javax.servlet.http.HttpServletRequest;  
    9. import javax.servlet.http.HttpServletResponse;  
    10.   
    11. public class LoginServlet extends HttpServlet {  
    12.   
    13.   
    14.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
    15.             throws ServletException, IOException {  
    16.         this.doPost(request, response);  
    17.     }  
    18.   
    19.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
    20.             throws ServletException, IOException {  
    21.          String username=request.getParameter("username");  
    22.            String password=request.getParameter("password");  
    23.            String savetime=request.getParameter("saveTime");  
    24.            if(LoginService.login(username, password)){  
    25.                if(null!=savetime&&!savetime.isEmpty()){  
    26.                    int saveTime=Integer.parseInt(savetime);//这里接受的表单值为天来计算的  
    27.                    int seconds=saveTime*24*60*60;  
    28.                    Cookie cookie = new Cookie("user", username+"=="+password);  
    29.                    cookie.setMaxAge(seconds);                     
    30.                    response.addCookie(cookie);  
    31.                }  
    32.                request.setAttribute("username",username);  
    33.                request.getRequestDispatcher("/main.jsp").forward(request,response);  
    34.            }else{  
    35.                request.getRequestDispatcher("/index.jsp").forward(request,response);  
    36.            }  
    37.     }  
    38.   
    39. }  
    40. </span>  

     

    看清上面处理Cookie的方式步骤:其实这是为第一次登录该网站时【前提是选择了保存自动登录期限时间】处理Cookie,只要这一步处理成功,以后都无需经过这个Servlet因为我们接下来要在请求到达前,从Cookie中取出我们的用户名和密码,这样的话就需要一个过滤器了

    Java代码  收藏代码
    1. <span style="font-size: medium;">package com.login.servlet;  
    2.   
    3. import java.io.IOException;  
    4.   
    5. import javax.servlet.Filter;  
    6. import javax.servlet.FilterChain;  
    7. import javax.servlet.FilterConfig;  
    8. import javax.servlet.ServletException;  
    9. import javax.servlet.ServletRequest;  
    10. import javax.servlet.ServletResponse;  
    11. import javax.servlet.http.Cookie;  
    12. import javax.servlet.http.HttpServletRequest;  
    13. import javax.servlet.http.HttpServletResponse;  
    14.   
    15. public class IndexFilter implements Filter {  
    16.   
    17.     public void destroy() {  
    18.         // TODO Auto-generated method stub  
    19.   
    20.     }  
    21.   
    22.     public void doFilter(ServletRequest arg0, ServletResponse arg1,  
    23.             FilterChain arg2) throws IOException, ServletException {  
    24.         HttpServletRequest request = (HttpServletRequest) arg0;  
    25.         HttpServletResponse response = (HttpServletResponse) arg1;  
    26.         Cookie[] cookies = request.getCookies();  
    27.         String[] cooks = null;  
    28.         String username = null;  
    29.         String password = null;  
    30.         if (cookies != null) {  
    31.             for (Cookie coo : cookies) {  
    32.                 String aa = coo.getValue();  
    33.                 cooks = aa.split("==");  
    34.                 if (cooks.length == 2) {  
    35.                     username = cooks[0];  
    36.                     password = cooks[1];  
    37.                 }  
    38.             }  
    39.         }  
    40.         if (LoginService.login(username, password)) {  
    41.             request.getSession().setAttribute("username",username);  
    42.             response.sendRedirect("main.jsp");  
    43.             //request.getRequestDispatcher("/main.jsp").forward(request, response);  
    44.         }else{  
    45.             arg2.doFilter(request,response );  
    46.         }  
    47.       
    48.   
    49.     }  
    50.   
    51.     public void init(FilterConfig arg0) throws ServletException {  
    52.         // TODO Auto-generated method stub  
    53.   
    54.     }  
    55.   
    56. }  
    57. </span>  

     

    我这里所说的请求到达之前,不是指的某个路径匹配的servlet而是指的就是在输入网址到达登录页面前就要进行自动登录的处理,那么web.xml中应该怎么配置呢

    Xml代码  收藏代码
    1. <span style="font-size: medium;"><?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.5"   
    3.     xmlns="http://java.sun.com/xml/ns/javaee"   
    4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
    7.   <filter>  
    8.   <filter-name>loginFilter</filter-name>  
    9.   <filter-class>com.login.servlet.IndexFilter</filter-class>  
    10.   </filter>  
    11.   <filter-mapping>  
    12.   <filter-name>loginFilter</filter-name>  
    13.   <url-pattern>/index.jsp</url-pattern>  
    14.   </filter-mapping>  
    15.   <servlet>  
    16.     <servlet-name>LoginServlet</servlet-name>  
    17.     <servlet-class>com.login.servlet.LoginServlet</servlet-class>  
    18.   </servlet>  
    19.   
    20.   <servlet-mapping>  
    21.     <servlet-name>LoginServlet</servlet-name>  
    22.     <url-pattern>/login.do</url-pattern>  
    23.   </servlet-mapping>  
    24.   <welcome-file-list>  
    25.     <welcome-file>login.jsp</welcome-file>  
    26.   </welcome-file-list>  
    27. </web-app>  
    28. </span>  

     看见了没有,上面的filter匹配路径只是针对一个页面,与通常写/*匹配所有请求到达之前是不一样的写法哦

      主页面:main.jsp

    Html代码  收藏代码
    1. <span style="font-size: medium;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
    2. <html>  
    3.   <head>  
    4.      <title>My JSP 'maiin.jsp' starting page</title>  
    5.   </head>  
    6.   <body>  
    7.     登录成功,欢迎${username}的到来  
    8.   </body>  
    9. </html>  
    10. </span>  

     

     输入地址:http://localhost:8080/WebApp/login.jsp出现登录页面

     然后输入:admin,123456 ,选择一个保存日期

     这样第一次登录成功之后,是经由LoginServlet处理了,由于选择了日期,所以Cookie中保存了用户信息,所以之后再输入同样地址后,不会出现登录页面,就不再经过LoginServlet处理【因为LoginServlet处理的是登陆页面上登录按钮请求的】,而直接提前交由IndexFilter处理,直接进入主页面,明白了么?

    展开全文
  • 通常我们登录某网站,会有选择保存几天,或者是几个星期不用登录,之后输入该网站地址无需登录直接进入主页面...%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <hea...

    通常我们登录某网站,会有选择保存几天,或者是几个星期不用登录,之后输入该网站地址无需登录直接进入主页面,那么这就叫做自动登录,怎么实现呢,下面我以一个小例子来演示一下

    登录页面:login.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
      <head>
      </head>
      <body>
      <form action="login.do">
        用户名:<input type="text" name="username" ><br/>
        密    码:<input type="text" name="password" ><br/>
        
        <input type="submit" value="登录" /><select name="saveTime">
        <option value="366">一年</option>
        <option value="183">半年</option>
         <option value="30">一个月</option> 
         <option value="7">一周</option>
        </select>
      </form>
      </body>
    </html>
    

     

    那么从上面可看到可选择保存自动登录的期限,可以是一年,半年,一个月,一周,当然这都是以天为单位的

    服务类:LoginService

    package com.login.servlet;
    
    public class LoginService {
    
    	public static boolean login(String username, String password) {
    		if ("admin".equals(username) && "123456".equals(password)) {
    			return true;
    		} else {
    			return false;
    		}
    	}
    }
    

    业务处理servlet:LoginServlet

     
    package com.login.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LoginServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
            this.doPost(request, response);
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		 String username=request.getParameter("username");
    		   String password=request.getParameter("password");
    		   String savetime=request.getParameter("saveTime");
    		   if(LoginService.login(username, password)){
    			   if(null!=savetime&&!savetime.isEmpty()){
    				   int saveTime=Integer.parseInt(savetime);//这里接受的表单值为天来计算的
    				   int seconds=saveTime*24*60*60;
    				   Cookie cookie = new Cookie("user", username+"=="+password);
    				   cookie.setMaxAge(seconds);					
    				   response.addCookie(cookie);
    			   }
    			   request.setAttribute("username",username);
    			   request.getRequestDispatcher("/main.jsp").forward(request,response);
    		   }else{
    			   request.getRequestDispatcher("/index.jsp").forward(request,response);
    		   }
    	}
    
    }
    

     

    看清上面处理Cookie的方式步骤:其实这是为第一次登录该网站时【前提是选择了保存自动登录期限时间】处理Cookie,只要这一步处理成功,以后都无需经过这个Servlet因为我们接下来要在请求到达前,从Cookie中取出我们的用户名和密码,这样的话就需要一个过滤器了

     
    package com.login.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class IndexFilter implements Filter {
    
    	public void destroy() {
    		// TODO Auto-generated method stub
    
    	}
    
    	public void doFilter(ServletRequest arg0, ServletResponse arg1,
    			FilterChain arg2) throws IOException, ServletException {
    		HttpServletRequest request = (HttpServletRequest) arg0;
    		HttpServletResponse response = (HttpServletResponse) arg1;
    		Cookie[] cookies = request.getCookies();
    		String[] cooks = null;
    		String username = null;
    		String password = null;
    		if (cookies != null) {
    			for (Cookie coo : cookies) {
    				String aa = coo.getValue();
    				cooks = aa.split("==");
    				if (cooks.length == 2) {
    					username = cooks[0];
    					password = cooks[1];
    				}
    			}
    		}
    		if (LoginService.login(username, password)) {
    			request.getSession().setAttribute("username",username);
    			response.sendRedirect("main.jsp");
    			//request.getRequestDispatcher("/main.jsp").forward(request, response);
    		}else{
    			arg2.doFilter(request,response );
    		}
    	
    
    	}
    
    	public void init(FilterConfig arg0) throws ServletException {
    		// TODO Auto-generated method stub
    
    	}
    
    }
    

     

    我这里所说的请求到达之前,不是指的某个路径匹配的servlet而是指的就是在输入网址到达登录页面前就要进行自动登录的处理,那么web.xml中应该怎么配置呢

     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <filter>
      <filter-name>loginFilter</filter-name>
      <filter-class>com.login.servlet.IndexFilter</filter-class>
      </filter>
      <filter-mapping>
      <filter-name>loginFilter</filter-name>
      <url-pattern>/index.jsp</url-pattern>
      </filter-mapping>
      <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.login.servlet.LoginServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/login.do</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    

     看见了没有,上面的filter匹配路径只是针对一个页面,与通常写/*匹配所有请求到达之前是不一样的写法哦

      主页面:main.jsp

     
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
      <head>
         <title>My JSP 'maiin.jsp' starting page</title>
      </head>
      <body>
        登录成功,欢迎${username}的到来
      </body>
    </html>
    

     

     输入地址:http://localhost:8080/WebApp/login.jsp出现登录页面

     然后输入:admin,123456 ,选择一个保存日期

     这样第一次登录成功之后,是经由LoginServlet处理了,由于选择了日期,所以Cookie中保存了用户信息,所以之后再输入同样地址后,不会出现登录页面,就不再经过LoginServlet处理【因为LoginServlet处理的是登陆页面上登录按钮请求的】,而直接提前交由IndexFilter处理,直接进入主页面,明白了么

    转载于:https://www.cnblogs.com/wcyBlog/p/3831694.html

    展开全文
  • 这个是我写的java代码实现的登陆注册上传的项目,里面还有用户名和密码的正则验证,手机号验证码注册,使用的scoket编程思想,可以实现两地登录传输文件的功能
  • 微信登录功能java(功能以上线) // 微信登录 //action代码 public void wxlogin() { String APPID = WechatConstant.APPID; //获取自己的appid String APPSecret = WechatConstant.SECRET; //获取自己的密钥 String...

    微信登录功能java(功能以上线)

    // 微信登录

    //action代码
    	public void wxlogin() {
    		String APPID = WechatConstant.APPID;  //获取自己的appid
    		String APPSecret = WechatConstant.SECRET; //获取自己的密钥
    		String code = getMemberBean().getWxcode();
    		Map<String, Object> jsonMap = new HashMap<String, Object>();
    		if (code.length() <= 0 || code == "") {
    			jsonMap.put("statusCode", 300);
    			jsonMap.put("message", "授权失败");
    		} else {
    			String url = "https://api.weixin.qq.com/sns/jscode2session?" + "appid=" + APPID + "&secret=" + APPSecret
    					+ "&js_code=" + code + "&grant_type=authorization_code";
    			String list = ReqUtil.httpGet(url);
    			// 把返回的数据格式后取出openid
    			JSONObject json1 = JsonUtil.convert2JSONObject(list);
    			String openid = json1.getString("openid");
    			// 登录成功把微信用户数据存入数据库
    			List<Member> wlist = memberService.findwxuser(openid);// 判断如果数据库没有数据就添加
    			Integer status = null;
    			if (wlist.isEmpty()) {
    
    				Member user = getMemberBean().getMember();
    				String wxname = getMemberBean().getWxname();
    				String str = new String(wxname);
    				System.out.print("匹配成功返回值 :");
    				String my = str.replaceAll("[^0-9a-zA-Z\\u4e00-\\u9fa5]", ""); //微信名字过滤正则表达
    				// str = str.replace(my, "");
    				if ("".equals(my) || my == null) {
    					user.setNickname(openid);
    				} else {
    					user.setNickname(my);
    				} // 暂时不需要保存名字
    				user.setOpenid(openid);
    				// getMemberBean().getMember().setDiscout("26");暂时不用
    				user.setShStatus(5);
    				MemLevel ml = new MemLevel();
    				ml.setId(7);
    				user.setMemLevel(ml);
    				memberService.saveUsero(user);
    				status = 3;
    
    			} else {
    				status = wlist.get(0).getShStatus();
    			}
    			jsonMap.put("statusCode", 200);
    			jsonMap.put("message", "处理成功!");
    			jsonMap.put("list", openid);
    			jsonMap.put("message", status);
    		}
    		String json = JsonUtil.convert2JSONString(jsonMap);
    		// 返回结果给客户端,供json使用,需要用到response中的writer
    		printlnToClient(json);
    	}
    
    
    //工具类
    public class ReqUtil {
    	
    	//get请求
    	public static String httpGet(String url) {
    		if (StringUtil.isEmpty(url)) {
    			throw new AppException("����URL����Ϊ�գ�");
    		}
    		CloseableHttpClient httpclient = HttpClients.createDefault();
    		String result = "";
    		try {
    			HttpGet httpGet = new HttpGet(url);
    			CloseableHttpResponse response1 = null;
    
    			try {
    				response1 = httpclient.execute(httpGet);
    				HttpEntity entity = response1.getEntity();
    				InputStream is = entity.getContent();
    				result = readInputStream(is);
    				HttpEntity entity1 = response1.getEntity();
    				EntityUtils.consume(entity1);
    			} catch (ClientProtocolException e1) {
    				e1.printStackTrace();
    			} catch (IOException e) {
    				e.printStackTrace();
    			} finally {
    				try {
    					response1.close();
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    		} finally {
    			try {
    				httpclient.close();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		return result;
    	}
    
    	private static String readInputStream(InputStream is) {
    		StringBuffer sb = new StringBuffer();
    		String str = "";
    		try {
    			BufferedReader reader = new BufferedReader(new InputStreamReader(
    					is, "utf-8"));
    			while ((str = reader.readLine()) != null) {
    				sb.append(str);
    			}
    		} catch (UnsupportedEncodingException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return sb.toString();
    	}
    	//POST请求
    	public static String sendPost(String url, String param) { PrintWriter out = null;
    	BufferedReader in = null; String result = "";
    	try {
    	URL realUrl = new URL(url);
    	// 打开和URL之间的连接
    	URLConnection conn = realUrl.openConnection();
    	// 设 置 通 ⽤ 的 请 求 属 性 conn.setRequestProperty("accept", "*/*");
    	conn.setRequestProperty("connection", "Keep-Alive");
    	conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT5.1;SV1)");
    	// 发送POST请求必须设置如下两⾏conn.setDoOutput(true); conn.setDoInput(true);
    	// 获取URLConnection对象对应的输出流
    	out = new PrintWriter(conn.getOutputStream());
    	// 发送请求参数
    	out.print(param);
    	// flush输出流的缓冲out.flush();
    	// 定义BufferedReader输⼊流来读取URL的响应
    	in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); String line;
    	while ((line = in.readLine()) != null) {
    		result += line;
    	}
    	} catch (Exception e) {
    	System.out.println("发送 POST 请求出现异常!" + e); e.printStackTrace();
    	}
    	// 使⽤finally块来关闭输出流、输⼊流
    	finally { try {
    	if (out != null) { out.close();
    	}
    	if (in != null) {
    	in.close();
    	}
    	} catch (IOException ex) { ex.printStackTrace();
    	}
    	}
    	return result;	
    	}	
    }
    

    Alt

    展开全文
  • 但这些应用不可能和我们...本文将简单介绍如果通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。 1. 电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,P
  • 项目软件 IntelIij IDEA、Tomcat...项目中使用到的jar文件有mysql-connector-java-5.0.8-bin.jar,扩展包有servlet-api.jar mysql-connector-java-5.0.8-bin.jar导入项目,先在本地下载好这个包,在web->WEB-INF新建
  • java自动登录功能和记住用户名功能

    千次阅读 2018-09-30 18:20:51
    一、自动登录功能 后台的代码 1.1、后台servlet中的代码 //1、判断是否勾选了自动登录的复选框 String autoLogin = request.getParameter(&quot;autoLogin&quot;); ...
  • Java实现简单的登录功能代码如下: import java.util.Scanner; public class 登录界面 { public static void main(String[] args) { int[] passwordBox=new int[] {123,124,125}; String[] userBox= {...
  • ![图片说明](https://img-ask.csdn.net/upload/201706/14/1497402739_732549.png) 这是代码部分, 如何从页面获取用户名和密码,并判断正确返回jsp页面??
  • java音乐网站代码

    2011-09-05 20:14:55
    java音乐网站代码,可以登录。下载。后台管理。添加。删除········功能
  • MVC实现简单登录功能代码

    千次阅读 2020-02-23 18:11:10
    前端登录页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>I.....
  • 本文实例为大家分享了JavaWeb登陆功能的方法,供大家参考,具体内容如下首先我们要JavaWeb登陆的基本流程:JSP页面发送请求——>Servlet——>Servlet通过调用方法从数据库中得到数据并将结果返回页面。我们先...
  • java实现简单的登录功能

    千次阅读 2019-10-29 19:34:27
    java中在控制台的登录功能 代码如下,都有相应的解析 public static void main(String[] args) { //定义一个用户的个人信息 String name="易烊千玺"; String pwd="123456"; //让用户输入相应信息 Scanner ...
  • Coolie的功能:1:功能:保存一小块数据2:常用Cookies属性:expires,path,domain,secure3:写入Cookies:格式 name=value4:用escape编码,unescape解码5:用obj.setTime(obj.getTime+60*1000)设置过期时间6:cookie保存的...
  • 修改edusoho登录功能代码 供大家作为学习参考 一、修改Topxia/WebBundle/Resources/config/services.yml Parameters Custom\WebBundle\Handler\XXXXAuthenticationProvider 二、添加XXXXAuthenticationProvider ...
  • 通过Java代码写的用户登录注册功能,源码和jar包都有,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,690
精华内容 1,076
关键字:

java登录功能代码

java 订阅