ssh+ajax 註冊驗證 以及struts2+json注意事項
在我們日常開發中,經常會遇到註冊時進行使用者名稱非同步驗證這一步,下面是我開發時的一個小例子,希望能對大家有幫助。需要注意的是,我們後臺是利用json返回json字串,struts2整合json我們需要加入以下jar包:
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> <version>2.3.16</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>
頁面效果:左圖是使用者名稱已被註冊,右圖是允許註冊。
下面是我的前臺程式碼:
<script type="text/javascript"> function checkLogin(){ var xmlHttp; var name = document.getElementById("email").value; if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } else { xmlHttp = new ActiveXObject("MicroSoft.XMLHTTP");//老版本的ie } xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4 && xmlHttp.status==200){ //var ss = xmlHttp.responseText; var dataObj=eval("("+xmlHttp.responseText+")"); if(dataObj.exist=="false"){ document.getElementById("tip").innerHTML="<img src='images/ok.png'/>"; } else { document.getElementById("tip").innerHTML="<img src='images/no.png'/>"; } } }; xmlHttp.open("post","Json_checkRegister.action?checkname="+name,true); xmlHttp.send(); } </script>
<p><input type="email" id="email" name="user.username" onblur="checkLogin();" class="loginInput" autofocus="autofocus" required="required" autocomplete="off" placeholder="請輸入電子郵箱" value="" /><font id="tip"></font></p>
下面是後臺action程式碼:
public String checkRegister() throws Exception{ HttpServletResponse response = ServletActionContext.getResponse(); JSONObject json=new JSONObject(); PrintWriter out = response.getWriter(); if(this.userservice.checkRegister(checkname)==false){ json.put("exist", "false"); out.println(json); out.flush(); out.close(); return "userAllowRegister"; } json.put("exist", "true"); out.println(json); out.flush(); out.close(); return "userNoRegister"; }
配置檔案strut.xml程式碼:
<package name="json" namespace="/" extends="json-default">
<action name="Json_*" class="user_action" method="{1}">
<result name="userAllowRegister" type="json"></result>
<result name="userNoRegister" type="json"></result>
</action>
</package>
注意返回型別為json
JSON(Java Script Object Notation),是一種語言無關的資料交換格式。
JSON外掛是Structs 2 的Ajax外掛,通過利用JSON外掛,開發者可以很方便,靈活的利用Ajax進行開發。
Json是一種輕量級的資料交換格式,JSon外掛提供了一種名為json的Action ResultType 。
一旦為Action指定了該結果處理型別,JSON外掛就會自動將Action裡的資料序列化成JSON格式的資料,
並返回給客戶端物理檢視的JavaScript。簡單的說,JSON外掛允許我們在JavaScript中非同步的呼叫Action,
而且Action不需要指定檢視來顯示Action的資訊顯示。
而是由JSON外掛來負責具體將Action裡面具體的資訊返回給呼叫頁面。
Json的資料格式可簡單如下形式: person = { name: 'Jim',age: 18,gender: 'man'}。
如果action的屬性很多,我們想要從Action返回到呼叫頁面的資料。
如果我們在後臺不希望返回的資料,可以禁止其被序列化,可以使用 @JSON(serialize=false)註解對其遮蔽,說明
此屬性不被加入json。
以下三個註解也經常會用到:
在屬性get方法上面加
@JSON(name="newName")json中的名稱
@JSON(serialize=false)屬性不被加入
[email protected](format="yyyy-MM-dd")格式化日期
這個時候配置includeProperties或者excludeProperties攔截器即可。
<!-- 只包含user.id屬性 --> <resulttype="json"name="user"> <paramname="includeProperties"> user\.id </param>
<!-- 不包含user屬性 -->
<resulttype="json"name="list">
<paramname="excludeProperties">
user
</param>
</result>
<!-- 根物件只包含user -->
<resulttype="json">
<paramname="root">
user
</param>
</result>
相關推薦
ssh+ajax 註冊驗證 以及struts2+json注意事項
在我們日常開發中,經常會遇到註冊時進行使用者名稱非同步驗證這一步,下面是我開發時的一個小例子,希望能對大家有幫助。需要注意的是,我們後臺是利用json返回json字串,struts2整合json我們需要加入以下jar包: <dependency> <
SSH+AJAX 註冊使用者名稱唯一性驗證
不說廢話,上程式碼。pojopackage com.pojo; public class Client { private Integer clientId; private String clientName; private String clientPass;
keras學習筆記2——Merge理解、GPU的設定方法,以及新手的注意事項
keras學習筆記2——Merge、GPU呼叫、快速開始及常見問題 參考資料:http://keras-cn.readthedocs.io/en/latest/ 1. Merge層 Merge層主要是用來合併多個model的,例子如下: from keras.layers impor
A2·ActiveMQ ajax使用方式及Spring配置注意事項
通過上一篇文章https://blog.csdn.net/lycz_tpself/article/details/81115918可以完成ActiveMQ後端使用要完成的配置,本文基於上篇博文介紹前端ajax使用所需要的額
Python爬蟲開發(五):反爬蟲措施以及爬蟲編寫注意事項
0×01 介紹 本人對於Python學習建立了一個小小的學習圈子,為各位提供了一個平臺,大家一起來討論學習Python。歡迎各位到來Python學習群:960410445一起討論視訊分享學習。Python是未來的發展方向,正在挑戰我們的分析能力及對世界的認知方式,因此,我們與時俱進,迎接變化,並
C++ 二叉樹的實現、基本操作以及指標使用注意事項(轉自部落格)
內容: 模板實現簡單的二叉樹 二叉樹的前序,中序,後序遍歷 統計二叉樹結點的個數和深度 二叉樹的銷燬操作 具體的實現過程及注意事項見程式碼部分; #include <iostream&
java基礎第一章_變數以及使用變數注意事項
變數 變數: 在程式執行過程中其值可以發生改變的量。注意事項: 1-作用域: 我們都知道變數在一個大括號的作用域裡,那麼這個變數就在這個大括號裡有效。 而且在同一個作用域裡不能定義兩個相同
hadoop32位編譯為64位以及安裝執行注意事項--centos7
tar -xvzf jdk-7u60-linux-x64.tar.gz 2.編輯 /etc/profile 檔案 在最後一行新增 export JAVA_HOME=/hadoop/java/jdk1.7.0_75export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=
AJAX傳送 PUT和DELETE請求注意事項
ajax使用restful服務傳送put 和 delete 請求時直接傳參會出現問題 一,採用POST + _method:delete/put + filter 的方法 ajax傳送put 和 delete 請求時,需要傳遞引數,如果引數在url位址列上,則可以正常使
Servlet如何編寫以及寫Servlet注意事項
1、Servlet:主要用於互動式的瀏覽和修改資料,生成web內容。 2、過程:一般是網頁將資料交給Servlet進行處理,Servlet處理好後便跳轉到相應的頁面。 3、建立: a:建立一個class然後在web.xml中進行配置Servlet b:直接建立Servl
表單提交前onclick使用reuturn時,ajax請求同步非同步的一點注意事項
因為會經常用到ajax提交請求判斷一些資訊,比如,使用者賬號名是否存在等等,但如果是在提交表單資料按鈕的onclick時,用return check()來跳轉去最後驗證一下表單資料是否為空等等。需要注意一些問題。 當進行ajax請求時,如果success回撥得
各種語言HMAC SHA256實現以及Base64編碼注意事項
語言包含: Javascript ,PHP,Java,Groovy,C#,Objective C,Go,Ruby,Python,Perl,Dart,Swift,Rust,Powershell。Javascript HMAC SHA256 Run the code onl
用ajax+jquery+json+css3+html5實現登入、註冊、以及主頁面的增刪改查
主要思路 在登入介面,輸入使用者名稱和密碼,失焦的時候,判斷輸入的使用者名稱和密碼是否符合相應的正則表示式的要求。如果符合,就傳送ajax請求到服務端,服務端接受到請求,就把從頁面中傳來的資料和json檔案裡面的資料進行對比,如果有相同的資料,就返回1,通過
基於struts+hibernate+ajax的登入註冊驗證與購物車demo解析
本博文主要介紹使用struts完成頁面跳轉和hibernate訪問資料庫的方式,完成簡單的ajax註冊驗證和購物車功能demo例項。將搭建過程和一些心得分享出來。此文為流程分析,並不介紹具體實現過程的每個細節,原始碼放在了下載頁。頁面截圖如下(請忽略頁面醜,只為功能齊全...) 一:struts
基於SSH的預約掛號系統之註冊驗證
註冊頁面描述 註冊頁面主要內容如下 前端驗證 在滑鼠游標離開輸入框,並且輸入框內容有改變時進行驗證。 1、暱稱:判斷是否為空-->正則表示式判斷是否合法 /*判斷使用者名稱是否為空 是否合法(2-6個漢字)*/ $(":input[name=use
java Web中實現QQ郵箱驗證以及驗證碼註冊使用者
實體類:User.java package com.yinhe.bean; import java.util.Date; public class User { private String uid; private String username; private Str
ajax註冊頁面非同步驗證
ajax的原理大家可以看上圖 如何獲得Ajax物件? XMLHttpRequest沒有標準化,要區分瀏覽器。 function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ //非
使用ajax 實現使用者的使用者名稱註冊驗證,如果該使用者已存在則提示該使用者已存在
MyJsp.jsp 程式碼: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DO
【SSH網上商城】——AJAX非同步驗證是否存在該使用者名稱
這幾天抽著中午的空隙,敲SSH網上商城,剛開始敲的時候,弄SSH的框架花了段時間,框架搭完以後,開始首頁跳轉,一切都開始步入正軌了。敲了幾集視訊,感覺SSH網上商城的專案挺好玩的,雖然開始學習的時候不太懂,但是看著功能一個一個的實現,很有成就感。 使用aja
ajax實現驗證使用者名稱是否已經存在(struts2)
在使用者進行註冊的時候,為了保證使用者名稱的唯一性,需要在使用者註冊時進行使用者名稱的驗證,這個使用AJAX實現無重新整理驗證是最合適的。 下面就是我的驗證原始碼,在程式碼中通過註釋講解用法。1.js