登陆验证和二级联动

Java后台代码部分:AjaxInfo.java

package web;

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.JSONArray;
import net.sf.json.JSONObject;

public class AjaxInfo extends HttpServlet{

    private static final long serialVersionUID = 2238572939991508891L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        String action = req.getParameter("action");
        if("checkUserName".equals(action)){
            this.checkUserName(req, resp);
        }else if("ejld".equals(action)){
            this.ejld(req, resp);
        }

    }

    public void checkUserName(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
            String userName=req.getParameter("username");
            JSONObject resultJson=new JSONObject();
            if("jack".equals(userName)){
                resultJson.put("exist", true);
            }else{
                resultJson.put("exist", false);
            }
            PrintWriter out=resp.getWriter();
            out.print(resultJson);
            out.flush();
            out.close();
        }

    public void ejld(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
            String shengId=req.getParameter("shengId");
            JSONObject resultJson=new JSONObject();
            JSONArray jsonArray=new JSONArray();
            JSONObject temp=null;
            switch(Integer.parseInt(shengId)){
            case 1:{
                temp=new JSONObject();temp.put("id", 1);temp.put("text", "南京");jsonArray.add(temp);
                temp=new JSONObject();temp.put("id", 2);temp.put("text", "泰兴");jsonArray.add(temp);
                temp=new JSONObject();temp.put("id", 3);temp.put("text", "南通");jsonArray.add(temp);
                break;
            }
            case 2:{
                temp=new JSONObject();temp.put("id", 4);temp.put("text", "杭州");jsonArray.add(temp);
                temp=new JSONObject();temp.put("id", 5);temp.put("text", "宁波");jsonArray.add(temp);
                temp=new JSONObject();temp.put("id", 6);temp.put("text", "温州");jsonArray.add(temp);
                break;
            }
            case 3:{
                temp=new JSONObject();temp.put("id", 7);temp.put("text", "济南");jsonArray.add(temp);
                temp=new JSONObject();temp.put("id", 8);temp.put("text", "烟台");jsonArray.add(temp);
                temp=new JSONObject();temp.put("id", 9);temp.put("text", "蓬莱");jsonArray.add(temp);
                break;
            }
        }
            resultJson.put("rows", jsonArray);
            PrintWriter out=resp.getWriter();
            out.print(resultJson);
            out.flush();
            out.close();
        }
}

前台:1.登陆验证 checkUserName.html,这里需要用到ok.png和no.png图片,图片我放在最后

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ajax.html</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" type="text/css" href="./styles.css">-->

<script type="text/javascript">
    function checkUserName(){
    var userName=document.getElementById("username").value;
        var xmlHttp;
        if(window.XMLHttpRequest){
        xmlHttp=new XMLHttpRequest();
    }else{
    xmlHttp=new ActiveXObject(‘Microsoft.XMLHTTP‘);
    }
    xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4&&xmlHttp.status==200){
            alert(xmlHttp.responseText);
            var dataObj=eval("("+xmlHttp.responseText+")");//转换为 json 对象
            if(dataObj.exist){
                document.getElementById("tip").innerHTML="<img src=‘no.png‘ />&nbsp;该用户名已经存在";//这里需要用到no.png图片
            }else{
                document.getElementById("tip").innerHTML="<img src=‘ok.png‘ />&nbsp;该用户名可以使用";//这里需要用到ok.png图片
            }
        }
    }
    xmlHttp.open("get","ajax?action=checkUserName&username="+userName,true);
    xmlHttp.send();
}

</script>

</head>
<body>
    <table>
        <tr>
            <th>用户注册</th>
        </tr>
        <tr>
            <td>用户名:</td>
            <td><input type="text" id="username" name="username" onblur="checkUserName()" />&nbsp;&nbsp;<font id="tip"></font> </td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" id="password" name="password" /> </td>
        </tr>
        <tr>
            <td>确认密码:</td>
            <td><input type="text" id="password2" name="password2" /> </td>
        </tr>
        <tr>
            <td><input type="submit" value="注册" /></td>
            <td><input type="button" value="重置"/></td>
        </tr>
    </table>
</body>
</html>

前台:2.二级联动 ejld.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
    function loadInfo(){
    var shengId=document.getElementById("sheng").value;
    shi.options.length=0;//删除所有下拉框的选项
        var xmlHttp;
        if(window.XMLHttpRequest){
        xmlHttp=new XMLHttpRequest();
    }else{
    xmlHttp=new ActiveXObject(‘Microsoft.XMLHTTP‘);
    }
    xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4&&xmlHttp.status==200){
            alert(xmlHttp.responseText);
            var dataObj=eval("("+xmlHttp.responseText+")");//转换为 json 对象
            for(var i=0;i<dataObj.rows.length;i++){
                var o=dataObj.rows[i];
                shi.options.add(new Option(o.text,o.id));
            }
        }
    }
    xmlHttp.open("get","ajax?action=ejld&shengId="+shengId,true);
    xmlHttp.send();
}

</script>
</head>
<body>
省:
<select id="sheng" onchange="loadInfo()">
    <option value="1">江苏省</option>
    <option value="2">浙江省</option>
    <option value="3">山东省</option>
</select>
&nbsp;&nbsp;
市:
<select id="shi">

</select>
</body>
</html>

配置:web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
  <servlet-name>headFirstAjaxJsonChap03</servlet-name>
  <servlet-class>web.AjaxInfo</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>headFirstAjaxJsonChap03</servlet-name>
  <url-pattern>/ajax</url-pattern>
  </servlet-mapping>
</web-app>

注意:需要放入的jar包

commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.0.4.jar
ezmorph-1.0.3.jar
json-lib-2.2.3-jdk15.jar

两张图片(no.png和ok.png)

原文地址:https://www.cnblogs.com/yingyigongzi/p/9163423.html

时间: 2024-08-04 20:41:23

登陆验证和二级联动的相关文章

vba实现excel二级联动多选功能

要求 二级菜单需要根据一级菜单的不同变换内容 二级菜单为多选框,选择后,以逗号分隔显示在单元格内 实现 先上效果图,如下图图一所示,这里面是excel2013版本 图一效果图 数据源放在了sheet2里面,数据源如下图二所示.这里,使用第一行为第一级即H列的数据源[H列加数据验证为序列,源为sheet2的第一列,度娘有很详细的步骤]:I列根据H列的不同,加载对应列为多选的选项. 图二数据源 在编写代码的时候,一定要记得先加控件,步骤图如下图三所示,图四是控件的属性图,另外,请先确定启用了宏和开发

Ajax实现的城市二级联动二

上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染 1.HTML <select id="province"> <option>请选择</option> </select> <select id="city"> <option>请选择</option> </select> 2.JS /* * 省份信息和城市信息全部来源于服务器端 * * 第一

ajax实现二级联动

用js实现简单的ajax二级联动(如上图) HTML代码: 1 省份:<select id="province" onchange="getCity();" > 2 <option>请选择--</option> 3 </select> 4 城市:<select id="city"> 5 <option>请选择--</option> 6 </select>

二级联动列表

<!DOCTYPE HTML><html><head><title>二级联动列表</title><meta charset="utf-8" /><style> .hide{ display: none; }</style><script> /*实现“省”和“市”的级联下拉列表*/ var cities=[[], /*0号下标没有元素*/[{"name":'东城

JS实现省市二级联动

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF

java web程序 登陆验证页面 4个页面人性化设置

到这里,快期末考试了,老师不讲课,我心里有苦不想说,也许没有考虑到老师的感受,让老师难堪了 但是我的行为已不再是我可以做的了.不可能了,我只是职业性的机械的做事了. 思路: 1.第一个是form表单,用户输入用户名和密码,点击登陆按钮 a.jsp 2.第二是验证页面,如果不是那个用户名和密码,则显示登陆失败或错误,点击链接重新登陆ok.jsp d.jsp 3.当用户为输入任何数据,即为空的时候,则提示用户先登录,c.jsp 第一个页面,就不写了 验证页面 ok.jsp ? 1 2 3 4 5 6

Query实例的ajax应用之二级联动的后台是采用php来做的

jQuery实例的ajax应用之二级联动的后台是采用php来做的,前台通过jquery的ajax方式实现二级联动数据库表设计 csj_trade id int(11) auto_increment          tname varchar(100)tradeType int(11) 其中,id为主键自动索引,tname为行业名称,tradeType为一个标识,为0时,表示这条数据是大类:不为0,而是某个数字的时候,则这个数字表示其父级的id.(1)主页面 <script type="t

(实用篇)jQuery+PHP+MySQL实现二级联动下拉菜单

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类:  前端技术   程序开发   数据库   小类: 实现的效果就是当选择大类时,小类下拉框里的选项内容也随着改变.实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回JSON数据给前端处理. XHTML 首先我们要建立两个下拉选择框,第一个是大类

【Java EE 学习第70天】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】

一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需要将这个16位的字节数组转换成为32位的字符串,转换方法是使用位移+与运算.将高四位移到低四位&0X0F得到一个字符,直接使用该值&0X0F得到一个字符,这样一个8bit的字节就能够拆成2个字符.最终16Byte就能够转换成为32个字符. 1 package com.kdyzm.utils;