ajax 登录验证入门
来源:互联网 发布:金银在线软件下载 编辑:程序博客网 时间:2024/05/17 03:07
最进几天在练习ajax,其实学习ajax已经有一段时间,但是一直都是抄书上的代码,没有自己写过代码,这几天终于可是自己写了,呵呵,总结一下经验了,呵呵,今天还真的不好意思,班上唱歌没去,在这里要向班长同志道一下谦啊,呵呵,真的不好意思啊,呵呵不乱讲了,开始了.
1,首先是我的登录页面:代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<SCRIPT language=JavaScript>
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function validate(){
createXMLHttpRequest();
var userName=document.getElementById("userName");
var userPwd=document.getElementById("userPwd");
var url="checkservlet?userName=" +escape(userName.value) + "&userPwd=" + escape(userPwd.value);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=callback;
xmlHttp.send(null);
}
function callback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
setMessage();
}
}
}
function setMessage(){
var a=xmlHttp.responseText;
var a1=a.toString();
var a2=a1.substring(0,4);
if(a2=="true"){
window.location.href="index.jsp"
}
else{
document.getElementById("dataMessage").innerHTML="用户名与密玛错误"
}
</SCRIPT>
</head>
<body>
<form action="#">
<table align="center">
<div id="dataMessage"></div>
<tr>
<td>
用户名
</td>
<td>
<input type="text" name="userName" id="userName" />
</td>
</tr>
<tr>
<td>
密码
</td>
<td>
<input type="password" name="userPwd" id="userPwd" />
</td>
</tr>
<tr>
<td></td>
<td>
<input type="button" name="Submit" value="登陆" onclick="validate()">
<input type="reset" value="重置">
</td>
</tr>
</table>
<br>
</form>
</body>
</html>
在登录页面我要强调的是 var a1=a.toString(); var a2=a1.substring(0,4);这个地方,为什么要这么做了,请大家看完我后面的servelt代码,代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
if (request.getParameter("userName") != null
&& request.getParameter("userPwd") != null) {
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragrma", "no-cache");
PrintWriter out = response.getWriter();
String userName = request.getParameter("userName");
String userPwd = request.getParameter("userPwd");
DbBean db = new DbBean();
UserBean ub = db.checkUsersLogin(userName, userPwd);
if (ub != null) {
ArrayList news = db.getAllNews();
ArrayList news1 = new ArrayList();
request.getSession().setAttribute("news1", news);
out.println("true");
} else {
out.println("false");
}
}
}
我用out.println从服务器端返回一个文本数据,其实这个数据的作用只是一个标志位,选其他任意的值都可以,关键是起到一个区别成功与不成功的作用,这样页面好进行判断,我在这里出了很久的问题,他返回的值不知道为什么更我out.println的值的长度不一样,不知道为什么有几个空格还是什么加上去了,这个我还在思考中,所以我用了substring 来截取后做一个 判断,这里大家仁者见仁,智者见智,可以用别的好办法,但是思路是这样了,请大家指交了.我的javabean代码没有贴出来了,贴一个函数的代码,如下:
public UserBean checkUsersLogin(String userName, String userPwd) //登陆验证
{
UserBean ub = null;
if (!checkParameter(userName + userPwd))
{
userName = "null";
userPwd = "null";
}
try
{
String sql =
"select count(*) from admin where userName=? and userPwd=?";
prepar = conn.prepareStatement(sql);
prepar.setString(1, userName);
prepar.setString(2, userPwd);
res = prepar.executeQuery();
if (res.next())
{
if (res.getInt(1) > 0)
{
ub = this.getUser(userName);
}
else
{
ub = null;
}
}
}
catch (Exception e)
{
ub = null;
e.printStackTrace();
}
return ub;
}
这里谈一下我对ajax的感受了,这几天的学习的确对ajax有了更深层次了解了,对ajax的异步理解更深层次了,传统的web客户交换,每次服务器端响应后都要重载页面,但是有了ajax后我们每次提交数据并不用完全重载整个页面,只设计到我们要更新的那部分数据。怎么说了,我对ajax现在有了一定了解,但是还没到完全理解的地步啊,还要努力啊!呵呵!加油
- ajax 登录验证入门
- ajax基础入门—登录验证
- Ajax一个简单入门程序(用户登录验证)
- 一个很好的ajax入门小实例,用户登录验证
- ajax 登录验证
- ajax 验证用户登录
- Ajax入门--姓名验证
- Ajax用户登录权限验证
- Struts+Ajax实现登录验证
- JSp+ajax用户登录验证
- jquery实现ajax验证登录
- JQuery+Ajax实现登录验证
- ajax异步登录验证实现
- PHP+Mysql+AJAX登录验证
- springMVC+ajax进行登录验证
- SSM+JQuery+Ajax登录验证
- Ajax+SpringMVC+JSON登录验证
- 使用Ajax实现登录验证
- The Definitive Guide to SUSE Linux Enterprise Server
- Fundamentals of WiMAX: Understanding Broadband Wireless Networking
- WinForm数据绑定-简单绑定1
- Game Engine Toolset Development
- 375异闻录
- ajax 登录验证入门
- #ifndef、#define、#endif
- C#学习笔记(一)
- 各大型网站架构分析收集
- 基于SOA服务模式的单点登录解决方案
- How to: Use a Thread Pool (C# Programming Guide)
- asp.net生成html
- C#编码规范
- 【分享】怎么设置使MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提示功能