java异步方式实现登录

 更新时间:2016年05月22日 08:12:21   作者:旧梦vs逆爱  
这篇文章主要为大家详细介绍了java异步方式实现登录的相关资料,感兴趣的朋友可以参考一下

本文实例为大家分享了java异步登录的具体代码,供大家参考,具体内容如下

1.LoginServletAjax.java  

package com.scce.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import net.sf.json.JSONObject;
 
import com.scce.dao.AdminUserDao;
import com.scce.pojo.AdminUser;
 
public class LoginServletAjax extends HttpServlet {
 
  @Override
  protected void service(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html;charset=utf-8");
    String method = request.getMethod();
    if (method.equals("POST")) {
      doLoginAjax(request, response);
    } else if (method.equals("GET")) {
 
    }
 
  }
 
  public void doLoginAjax(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
     PrintWriter out = response.getWriter();
   
    // 用户名
    String username = request.getParameter("username");
    // 密码
    String password = request.getParameter("password");   
    String msg = "";
    AdminUserDao adminUserDao = new AdminUserDao();
    AdminUser adminUser = adminUserDao.queryUser(username, password);
    if (adminUser != null) {
       
        msg="登录成功!";
      String jsonObj=   JSONObject.fromObject(adminUser).toString();
      out.print("{\"Msg\":\""+msg+"\",\"rows\":"+jsonObj+"}");
      System.out.println("{\"Msg\":\""+msg+"\",\"rows\":"+jsonObj+"}");
     
    } else {
      msg="用户名或者密码不正确!";
      out.print("{\"Msg\":\""+msg+"\"}");
    }
     
     
    out.flush();
    out.close();
 
  }
 
}

2.test2.html

<!DOCTYPE html>
<html>
  <head>
    <title>chapter3-test2</title>
 
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
 
 
    <link rel="stylesheet" href="../UI/themes/icon.css" type="text/css"></link>
 
    <link rel="stylesheet" href="../UI/themes/default/easyui.css"
      type="text/css"></link>
 
    <!-- <script type="text/javascript" src="../js/jquery-1.8.2.min.js"></script> -->
    <script type="text/javascript" src="../UI/jquery.min.js"></script>
    <script type="text/javascript" src="../UI/jquery.easyui.min.js"></script>
 
    <script type="text/javascript" src="../UI/locale/easyui-lang-zh_CN.js"></script>
 
    <script type="text/javascript">
  //string number boolean null object undefined function 
  $(function() {
    $("#LoginAdd").dialog({
      title : "用户登录",
      collapsible : 'true',
      width : 300,
      height : 200,
      buttons : [ {
        text : '登录',
        iconCls : 'icon-add',
        handler : function() {
          console.info("用户登录!");
          ajaxFrm();//ajax提交表单的函数
        }
      } ]
    });
 
  });
  function ajaxFrm() {
    //------------------------注释的是ajax提交方法----------------------------
    var LoginList = $("#LoginList");
     
    $.ajax({
      url : '../LoginServletAjax?tag=test',//相对路径访问
      type : 'POST', //提交请求的方式
      data : $('#form1').serialize()+'&names=liuqin&age=26',//将表单参数序列化,发送到服务器的数据(提交额外的参数)
      dataType : 'json', //预期服务器返回的数据类型-json object  
      success : function(data) {//请求成功后将调用此方法var data = {"Msg":"登录成功","rows":{"username":"admin",...}}
        console.info(data);//调试代码
        $.messager.alert("提示", data.Msg);
        LoginList.html("");//清空数据
        if (data.rows) {
          var stra = LoginList.html() + "用户名:" + data.rows.username
              + "--密码:" + data.rows.password + "<br/>";
          LoginList.html(stra);
        }
      },
      error : function(error) { //请求失败时将调用此方法
        console.info(error);
 
      }
    });
 
     /*var LoginList = $("#LoginList");
     $("#form1").form("submit", {
       url: "../LoginServletAjax?tag=test",
       onSubmit: function (param) { //提交额外的参数
         param.name="liuqin";
       param.age=27;
         var username = $("#username").val();
         var password = $("#password").val();
         if (username.length == 0 || password.length == 0) {
           $.messager.alert('警告', '请输入用户名和密码');
           return false;
         }
         return true;
       },
       success: function (data) { 
         //var data = eval('(' + data + ')'); 
         var data = $.parseJSON(data);//服务器端返回json字符串转成json对象-js object
         console.info(data);
         $.messager.alert("提示", data.Msg);
         LoginList.html("");//清空数据
          if (data.rows) {
            var stra = LoginList.html() + "用户名:" + data.rows.username
                + "--密码:" + data.rows.password + "<br/>";
            LoginList.html(stra);
          }
       }
     });*/
 
  }
</script>
  </head>
 
  <body>
 
 
    <div id="LoginAdd">
      <form id="form1" method="post">
        <table style="width: 100%;">
          <tr>
            <td>
              用户名:
            </td>
            <td>
              <input id="username" name="username"
                class="easyui-validatebox textbox">
            </td>
          </tr>
          <tr>
            <td>
              密码:
            </td>
            <td>
              <input id="password" name="password"
                class="easyui-validatebox textbox" type="password">
            </td>
          </tr>
        </table>
      </form>
    </div>
    <div id="LoginList">
      用户信息加载中......
    </div>
 
    <video width="320" height="240" controls="controls"
      src="../video/B4934A0C53FC55703BFE3F6843E66166.mp4" type="video/mp4">
      Your browser does not support the video tag.
    </video>
 
 
  </body>
</html>

以上就是本文的全部内容,希望对大家学习java程序设计有所帮助。

相关文章

  • java读取zip/jar包中文件的几种方式

    java读取zip/jar包中文件的几种方式

    这篇文章主要给大家介绍了关于java读取zip/jar包中文件的几种方式,在我们日常使用中压缩文件是非常常用的,文中通过示例代码将java读取zip/jar包中文件的方法介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 详解@ConfigurationProperties如何装载到Spring容器中

    详解@ConfigurationProperties如何装载到Spring容器中

    这篇文章主要为大家详细介绍了@ConfigurationProperties该如何装载到Spring容器中,文中的示例代码讲解详细,需要的小伙伴可以参考一下
    2023-07-07
  • 15个高级Java多线程面试题及回答

    15个高级Java多线程面试题及回答

    这篇文章主要介绍了15个高级Java多线程面试题及回答,翻译自国外的一篇文章,这些面试题容易混淆、较难回答,需要的朋友可以参考下吧
    2014-05-05
  • Python爬虫之爬取2020女团选秀数据

    Python爬虫之爬取2020女团选秀数据

    本文将对比《青春有你2》和《创造营2020》全体小姐姐,鉴于两个节目的数据采集和处理过程基本相似,在使用Python做数据爬虫采集的章节中将只以《创造营2020》为例做详细介绍。感兴趣的同学可以照猫画虎去实操一下《青春有你2》的数据爬虫采集,需要的朋友可以参考下
    2021-04-04
  • JAVA找不到符号的三种解决方案

    JAVA找不到符号的三种解决方案

    这篇文章主要给大家介绍了关于JAVA找不到符号的三种解决方案, 找不到符号错误主要发生在我们试图引用一个未在我们正在编译的程序中声明的变量时,这意味着编译器不知道我们所引用的Java变量,需要的朋友可以参考下
    2024-03-03
  • Java中实现 SHA-256加密的两种方式

    Java中实现 SHA-256加密的两种方式

    这篇文章主要介绍了Java中实现 SHA-256加密的两种方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • springboot项目(jar包)指定配置文件启动图文教程

    springboot项目(jar包)指定配置文件启动图文教程

    这篇文章主要给大家介绍了关于springboot项目(jar包)指定配置文件启动的相关资料,在多环境部署过程中、及线上运维中可能会遇到临时指定配置文件的情况,需要的朋友可以参考下
    2023-07-07
  • Mybatis实现动态SQL编写详细代码示例

    Mybatis实现动态SQL编写详细代码示例

    这篇文章主要为大家详细介绍了Mybatis中动态SQL的编写使用,动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题,感兴趣想要详细了解可以参考下文
    2023-05-05
  • spring boot异步(Async)任务调度实现方法

    spring boot异步(Async)任务调度实现方法

    在没有使用spring boot之前,我们的做法是在配置文件中定义一个任务池,然后将@Async注解的任务丢到任务池中去执行,那么在spring boot中,怎么来实现异步任务的调用了,下面通过本文给大家讲解,需要的朋友参考下
    2018-02-02
  • Java基本数据类型与对应的包装类(动力节点java学院整理)

    Java基本数据类型与对应的包装类(动力节点java学院整理)

    Java是面向对象的编程语言,包装类的出现更好的体现这一思想,Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 下面通过本文给大家详细介绍,感兴趣的朋友一起学习吧
    2017-04-04

最新评论