Ajax使用范例

参考:http://wandering192.iteye.com/blog/736136

index.jsp:
<%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 request.setCharacterEncoding("utf-8");
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript">
 var req;
  function valie()
  {
  
     var idField=document.getElementById("userid");
     var url="validate.jsp?id="+idField.value;
      url=encodeURI(url); 
           url=encodeURI(url)
     if(window.XMLHttpRequest){
       req=new XMLHttpRequest();
     }else if(window.ActiveXObject){
      req=new ActiveXObject("Microsoft.XMLHTTP");
     }
     req.open("GET",url,true);
     req.onreadystatechange=callback; 
     req.send(null);
  }
 function callback()
 { 
    if(req.readyState==4)
      if(req.status==200)
      {
        var msg=req.responseXML.getElementsByTagName("msg")[0];
        setMsg(msg.childNodes[0].nodeValue);
      }
 }
 function setMsg(msg)
 {
     var mdiv=document.getElementById("usermsg");
     if(msg=="invalid")
     {
        mdiv.innerHTML="<font color='red'>username exists!</font>";
     }
     else
     {
        mdiv.innerHTML="<font color='green'>congratulations! you can use this username!</font>";
     }
 }
</script>
  </head>
  
  <body>
<form action="user/login.action" method="post">
  <table align="center">
  <tr>
  <td align="center" colspan="2">图书管理系统登陆</td>
  </tr>
  <tr>
  <td>用户名</td><td><input name="user.name" id="userid" type="text" οnblur="valie()"/><span 


id="usermsg"></span></td>
  <!--  因为valie()中 var idField=document.getElementById("userid")引用了id所以在这个input标签需要增加id属性。
      为了显示验证结果,需要添加<span id="usermsg"></span>。
   -->
  </tr>
  <tr>
  <td>密码</td><td><input name="user.pwd" TYPE="PASSWORD"/></td>
  </tr>
   <tr>
    <td>用户类型:</td>
        <td>
            <select name="user.type">
            <option value="1">管理员</option>
                <option value="2">普通用户</option>
            </select>        
        </td>    
    </tr>
   <tr>
              <td colspan="2" align="center"><input type="submit" name="submit" value=" 登  陆 "> 
     <input type="reset" name="reset"  value=" 取  消 "></td>
   </tr>
  </table>
</form>
   <div style="float:left; color:red" >${msg}</div> <br>
   <a href="user/get.action">查看</a> 
 </body>
</html>






validate.jsp:


<%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%>
<%@ page import="dao.*"%>
<% 
   response.setContentType("text/xml");
   response.setHeader("Cache-Control","no-store");
   response.setHeader("Pragma","no-cache");
   response.setDateHeader("Expires",0);
   String name=(String)request.getParameter("id");
   name = java.net.URLDecoder.decode(name,"UTF-8");
   UserDao a=new UserDao();
   if(a.exists(name)){
        response.getWriter().write("<msg>invalid</msg>");
    }
   else{
       response.getWriter().write("<msg>valid</msg>");
    }
%>




dao.UserDao:


 public boolean exists(String name){
       Connection conn=null;
PreparedStatement stat=null;
ResultSet rst=null;
String sql="";
sql="select * from user where name='"+name+"'";
try {
conn=DB.getConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
stat=conn.prepareStatement(sql);
rst=stat.executeQuery();
if(rst.next()){
return true;
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值