本例完成的任务:用户输入完学号时触发Ajax异步请求,从服务器获取学号所对应学生信息,并对页面中相应的学生信息进行更新填充。

输入信息的JSP界面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>example12_2.jsp</title><script type="text/javascript" src="example12_2.js" charset="UTF-8"></script>
</head>
<body><h1>获取学号对应的学生信息</h1><p>学号:<input type="text" name="sno" onblur="ajaxFunction(this.value)" /></p><p>姓名:<input type="text" name="sname" id="sname" readonly /></p><p>年龄:<input type="text" name="sage" id="sage" readonly /></p><p>院系:<input type="text" name="sdept" id="sdept" readonly /></p>
</body>
</html>

对应的JS文件:example12_2.js:

function createXHR(){var xmlhttp;if(window.XMLHttpRequest){xmlhttp = new XMLHttpRequest();}else{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}return xmlhttp;
}
function ajaxFunction(sno) {xhr = createXHR();var url = "AjaxTestServlet?sno=" + sno;xhr.open("GET", url, true);xhr.onreadystatechange = function(){if (xhr.readyState == 4 && xhr.status == 200){var resData = xhr.responseText.split(",");document.getElementById("sname").value = resData[0];document.getElementById("sage").value = resData[1];document.getElementById("sdept").value = resData[2];}};xhr.send();
}

Servlet文件为AjaxTestServlet.java:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;@WebServlet("/example12_2/AjaxTestServlet")
public class AjaxTestServlet extends HttpServlet {private static final long serialVersionUID=1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=utf-8");Map<String,String> stus=new HashMap<String , String>();stus.put("20190101","陈恒 01,77,计算机学院");stus.put("20190102","陈恒 02,88,软件学院");stus.put("20190103","陈恒 03,99,信息学院");String sno = request.getParameter("sno");String stu = stus.get(sno);if(stu == null){stu = "error,error,error";}response.getWriter().print(stu);}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doGet(request,response);}
}

展示效果如下:


仅输入学号并失去焦点(因为给的条件是onblur(),失去焦点后悔触发)后:

【Java Web基础】(十一)Ajax示例:根据用户输入的学号填充用户信息相关推荐

  1. Java Web基础

    目录 Java Web基础 HTML基础 HTML补充 CSS基础 CSS补充 JavaScript基础 JavaScript补充(例题) Java Web补充 Java Web基础 HTML基础 标 ...

  2. Java Web基础面试问题——Cookie和Session

    Java Web基础面试问题 Cookie 和 Session 的区别 什么是HTTP 超文本传输协议,是一种用于分布式.协作式和超媒体信息系统的应用层协议. 设计HTTP最初的目的是为了提供一种发布 ...

  3. winform定义数据源名称_winform ComboBox自定义数据源实现用户输入时出现与用户输入匹配的项...

    ComboBox自定义数据源实现用户输入时出现与用户输入匹配的项using System; using System.Collections.Generic; using System.Compone ...

  4. python创建学生类姓名学号_Python练习题:由用户输入学生学号与姓名,数据用字典存储,最终输出学生信息(按学号由小到大显示)。...

    # 1.由用户输入学生学号与姓名,数据用字典存储,最终输出学生信息(按学号由小到大显示) # 创建字典 students = {} # 用户输入 student = input("请输入学号 ...

  5. python输入学生姓名_Python练习题:由用户输入学生学号与姓名,数据用字典存储,最终输出学生信息(按学号由小到大显示)。...

    思路: 用户输入信息,储存在字典里 判断是否继续输入,继续填yes,输入其他则不继续 继续输入时判断学号是否重复(名字不判断,名字存在多人重名情况),存在则不储存,重新输入,并储存在字典里 对字典排序 ...

  6. 【Java Web基础】(五)实现新增下拉列表—由用户输入内容(Html+JS)

    Html文件中的代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  7. Java web基础学习笔记

    1.xml概述 1.1xml:xml一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系 1.2xml保存数据的方法:xml利用标签来保存数据的内容,利用标签之间的嵌套关系 ...

  8. 针对java web基础系统梳理随笔录

    POJO:Plain Ordinary Java Object 不含业务逻辑的java简单对象: 可以称为支持业务逻辑的协助类: 有时被称为Data对象,大量用于表现现实中的对象: 实际就是普通的Ja ...

  9. 【Java Web编程 十一】深入理解Servlet监听器

    上篇Blog详细介绍了Servlet的过滤器,了解到过滤器类似一个AOP的概念,这篇Blog就来学习下Servlet的监听器,了解下Java Web的第三大组件的用处是什么,又是怎么工作的. 监听器基 ...

最新文章

  1. 关系型数据库是如何运作的
  2. php非,PHP实现非对称加密
  3. 利用Hadoop Streaming处理二进制格式文件
  4. 汽车车牌识别系统实现(四)--字符识别+代码实现
  5. 机器学习中有哪些距离度量方式
  6. [社会趣闻]储户召集7名亲友占满银行窗口 每次存一元
  7. JS的常用正则表达式 验证密码
  8. WordPress主题-The7 v9.16.0主题模板
  9. 绝对定位元素、浮动元素会生成一个块级框
  10. YAF redis
  11. 抖音抓包下载完整版视频
  12. office2010卸载不掉解决办法
  13. 笔记本电脑已连接WIFI密码查看方法
  14. Java整合FFmpeg截取视频某一帧为图片
  15. 电脑所有的浏览器都上不了网怎么解决
  16. 图像二值化方法及适用场景分析(OTSU Trangle 自适应阈值分割)
  17. 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...
  18. request canceled (Client.Timeout exceeded while awaiting headers)
  19. common Vocabulary
  20. Python:绘制动态地图-pyecharts

热门文章

  1. python实现第三方验证码获取_python利用第三方模块,发送短信验证码(测试案例)...
  2. html文件右键没有打开方式,一个文件打不开,点右键,怎么在打开方式中加入Word,Excel的打开方式,打开方式中有Word的打开方式?...
  3. 单页双曲面 matlab,生成平面截单叶双曲面的gif动画的程序
  4. OpenCV + ORC 实现身份证识别
  5. 深入JVM-垃圾回收
  6. 使用php解析url中出现\u002乱码问题的方法
  7. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛非官方题解
  8. 如何读群晖硬盘_如何优雅无损的更换群晖硬盘
  9. cocos2d-x2.1.2精灵表单与表单编辑器
  10. 《编写有效用例》读书笔记(6)——前置条件、触发事件和保证