java異步方式實現(xiàn)登錄
本文實例為大家分享了java異步登錄的具體代碼,供大家參考,具體內(nèi)容如下
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提交表單的函數(shù) } } ] }); }); function ajaxFrm() { //------------------------注釋的是ajax提交方法---------------------------- var LoginList = $("#LoginList"); $.ajax({ url : '../LoginServletAjax?tag=test',//相對路徑訪問 type : 'POST', //提交請求的方式 data : $('#form1').serialize()+'&names=liuqin&age=26',//將表單參數(shù)序列化,發(fā)送到服務(wù)器的數(shù)據(jù)(提交額外的參數(shù)) dataType : 'json', //預(yù)期服務(wù)器返回的數(shù)據(jù)類型-json object success : function(data) {//請求成功后將調(diào)用此方法var data = {"Msg":"登錄成功","rows":{"username":"admin",...}} console.info(data);//調(diào)試代碼 $.messager.alert("提示", data.Msg); LoginList.html("");//清空數(shù)據(jù) if (data.rows) { var stra = LoginList.html() + "用戶名:" + data.rows.username + "--密碼:" + data.rows.password + "<br/>"; LoginList.html(stra); } }, error : function(error) { //請求失敗時將調(diào)用此方法 console.info(error); } }); /*var LoginList = $("#LoginList"); $("#form1").form("submit", { url: "../LoginServletAjax?tag=test", onSubmit: function (param) { //提交額外的參數(shù) 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);//服務(wù)器端返回json字符串轉(zhuǎn)成json對象-js object console.info(data); $.messager.alert("提示", data.Msg); LoginList.html("");//清空數(shù)據(jù) 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>
以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)java程序設(shè)計有所幫助。
相關(guān)文章
詳解@ConfigurationProperties如何裝載到Spring容器中
這篇文章主要為大家詳細介紹了@ConfigurationProperties該如何裝載到Spring容器中,文中的示例代碼講解詳細,需要的小伙伴可以參考一下2023-07-07Python爬蟲之爬取2020女團選秀數(shù)據(jù)
本文將對比《青春有你2》和《創(chuàng)造營2020》全體小姐姐,鑒于兩個節(jié)目的數(shù)據(jù)采集和處理過程基本相似,在使用Python做數(shù)據(jù)爬蟲采集的章節(jié)中將只以《創(chuàng)造營2020》為例做詳細介紹。感興趣的同學(xué)可以照貓畫虎去實操一下《青春有你2》的數(shù)據(jù)爬蟲采集,需要的朋友可以參考下2021-04-04springboot項目(jar包)指定配置文件啟動圖文教程
這篇文章主要給大家介紹了關(guān)于springboot項目(jar包)指定配置文件啟動的相關(guān)資料,在多環(huán)境部署過程中、及線上運維中可能會遇到臨時指定配置文件的情況,需要的朋友可以參考下2023-07-07Mybatis實現(xiàn)動態(tài)SQL編寫詳細代碼示例
這篇文章主要為大家詳細介紹了Mybatis中動態(tài)SQL的編寫使用,動態(tài)SQL技術(shù)是一種根據(jù)特定條件動態(tài)拼裝SQL語句的功能,它存在的意義是為了解決拼接SQL語句字符串時的痛點問題,感興趣想要詳細了解可以參考下文2023-05-05spring boot異步(Async)任務(wù)調(diào)度實現(xiàn)方法
在沒有使用spring boot之前,我們的做法是在配置文件中定義一個任務(wù)池,然后將@Async注解的任務(wù)丟到任務(wù)池中去執(zhí)行,那么在spring boot中,怎么來實現(xiàn)異步任務(wù)的調(diào)用了,下面通過本文給大家講解,需要的朋友參考下2018-02-02Java基本數(shù)據(jù)類型與對應(yīng)的包裝類(動力節(jié)點java學(xué)院整理)
Java是面向?qū)ο蟮木幊陶Z言,包裝類的出現(xiàn)更好的體現(xiàn)這一思想,Java語言提供了八種基本類型。六種數(shù)字類型(四個整數(shù)型,兩個浮點型),一種字符類型,還有一種布爾型。 下面通過本文給大家詳細介紹,感興趣的朋友一起學(xué)習(xí)吧2017-04-04