Java Web基础:第二十二讲 Ajax交互简单实例

Ajax + Servlet 技术应用实践指南 本文还有配套的精品资源,点击获取 简介:本文介绍了Ajax和Servlet在网络开发中的核心作用,详细阐述了Ajax的核心技术组件和Servlet的处理流程。Ajax通过异步方式更新网页内容,提升用户体验,而Servlet作为服务器端组件处理HTTP请求。文章进一步探讨了两者的结合在数据异步获取更新、表单验证和分页无限滚动等场景下的应用,并提及了Java端口扫描器在网络诊断... 阅读详情

本文内容摘自:《Java Web开发教程——入门与提高篇(JSP+Servlet)》

下面以注册过程中用户名是否存在的验证为例介绍AJAX 的应用。
功能描述:用户注册的用户名不允许重复,所以在用户提交时候需要判断。为了让用户早知道结果,在用户输入用户名之后就应该进行判断,可以采用AJAX 进行处理。
假设:为了简化代码,该实例的验证过程不使用数据库,并且也不使用专门的JavaBean ,直接在Servlet 中验证,假设已有用户“zhangsan ”、“lisi ”和“wangwu ”。
实例包含两个文件:
l         界面文件;
l         服务器端处理文件。
注册界面的代码如下 :
<%@ page language="java" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'register.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">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
 
 </head>
 <script language="javaScript">
var xMLHttpRequest=false;
function createXMLHttpRequest(){
   if(window.XMLHttpRequest){ // Mozilla 浏览器
      xMLHttpRequest = new XMLHttpRequest();
     
   }else if(window.ActiveXObject){
      try{
         xMLHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
      }catch(e){
         try{
            xMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
         }catch(e){}
      }
   }
}
function processResponse(){
   if(xMLHttpRequest.readystate==4){ // 判断对象状态
      if(xMLHttpRequest.status==200){ // 信息已经返回,开始处理信息
         var res = xMLHttpRequest.responseText;
         //window.alert(res);
         document.getElementById("userlabel").innerText=res;
      }else{ // 页面不正常
         window.alert(" 您所请求的页面有异常! ");
      }
   }
}
function usercheck(){
   createXMLHttpRequest();
   xMLHttpRequest.open("GET","check?username="+document.registerform.username.value,true);
   xMLHttpRequest.onreadystatechange=processResponse; // 指定响应函数
   xMLHttpRequest.send(null); // 发送请求
}
 </script>
 
   
 <body>
   <form name="registerform" action="register" method="post">
   <P>&nbsp; 注册 </P><P> 用户名: <input type="text" name="username" onClick="usercheck()"><label for=username id="userlabel"> 不能为空 </label></P><P>&nbsp; 性别: <input type="radio" checked="checked" value=" 男 " name="sex"> 男  <input type="radio" value=" 女 " name="sex"> 女 </P><p>&nbsp;<input type="submit" value=" 注册 "></p></form>
 </body>
</html>
服务器端的主要代码如下(Servlet 的部分代码):
    public void doGet(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException {
       request.setCharacterEncoding("gb2312");
       String username = request.getParameter("username");
       response.setContentType("text/html;charset=gb2312");
       PrintWriter out = response.getWriter();
       if(username.equals("zhangsan")
              ||username.equals("lisi")
              ||username.equals("wangwu")){
           out.println(" 用户名已经被占用! ");
       }else
       {
           out.println(" 用户名可以使用! ");
       }
       out.flush();
       out.close();
    }

 

下一讲:JavaBean
李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
Java Web整合开发实战:从基础到Ajax优化 Java Web 开发是使用Java语言及相关的技术栈来创建动态网站或网络应用程序的过程。它允许开发者使用Java编写服务器端的逻辑,同时可以处理来自客户端(如Web浏览器)的请求。Java Web 开发者经常使用Servlet、JavaServer Pages (JSP)、JavaServer Faces (JSF)以及各种框架(例如Spring MVC和Struts)来构建Web应用程序。Eclipse插件市场提供了数以千计的插件,它们可以增强Eclipse的功能。 阅读详情

相关推荐

Ajax在Web应用中的实践教程:简单易用

本文还有配套的精品资源,点击获取 简介:Ajax是一种允许Web页面异步更新内容的技术,无需重新加载整个页面。本案例将介绍Ajax技术的基础知识和实际应用,包括如何通过JavaScript对象XMLHttpRequest与服务器进行通信,以及如何利用jQuery简化Ajax操作。同时,探讨了如何在Java环境中使用Ajax与Tomcat服务器交互,并通过Java JDBC连...

weixin_42584586的博客 812

后端学习-学生成绩管理系统(html+ajax+servlet实现)

一、前言 本学生成绩管理系统运用html+ajax+servlet,未使用任何框架,且未用jsp实现,前后端数据统一用json传输(Gson包)。 本系统基于上次的纯前端学生成绩系统实现。 整体结构: 二、主要功能实现 1.成绩列表 为了方便ajax和servlet之间的json传输,于是创建实体类StudentInfo,方便后续直接利用Gson将Student类转化为对应的json,下述代码未给...

NH4L的博客 6967

深入理解Ajax与MyBatis在Web开发中的综合应用实例

本文还有配套的精品资源,点击获取 简介:Ajax与MyBatis是Web开发中前后端分离的关键技术,Ajax用于提升用户体验,MyBatis则简化数据库操作。本实例将深入探讨两者的结合,包括前端的异步请求、后端的SQL处理,以及最终如何实现页面内容的动态更新。案例中将详细分析文件结构和实现流程,帮助开发者掌握这些技术的应用。 1. Ajax技术概述及其在Web中的...

weixin_42443533的博客 1822

【Ajax】第一课 Ajax访问Servlet解析Json格式

概念 ajax(Web数据交互方式),Ajax即AsynchronousJavascriptAndXML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括:HTML或XHTML, CSS,JavaScript,DOM, XML,XSLT, 以及最重要的XMLHttpRequest。[3]使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得...

笔触狂放的博客 2012

Java Web使用Ajax进行网络请求和数据交互demo

Java Web使用Ajax进行网络请求和数据交互demo。 详情看博客:https://blog.youkuaiyun.com/yuzhiqiang_1993/article/details/81284684

JavaWeb中Ajax的使用

ajax的使用

javaweb之ajax异步交互

javaweb ,ajax异步交互

lss0555的博客 2079

javaweb使用ajax

ajax中使用jQuery AJAX 函数代码,

javaweb前后端交互(使用ajax)

web程序的整个流程 1.流程图 基本流程 加入数据库后 2.请求的几种方式 get请求 请求方式: 在浏览器中输入url?参数名1=参数值1&参数名2=参数值2 只要可以书写地址的地方都可以发起get请求 如:浏览器地址栏,a,form,jquery+ajax 应用场景:查询数据(不够安全) post请求 请求方式 url:请求路径(浏览器地址栏) data: 参数域 (js代码中) jquery+ajax(异步请求) 应用场景: 增删改数据 3.利用a

admin3335的博客 3835

Ajax与Java交互

Ajax与Java交互,列举了POST和GET的交互,以及动态加载的效果。

【C++PTA】6-1 Point类的运算 (10 分)

定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码 Point p; cout<<p<<endl;可以输出该点对象的坐标。 函数接口定义: 实现Point类。 裁判测试程序样例: /* 请在这里填写答案 */ int main(int argc, char const *argv[]) { P

libertye的博客 2369

Ajax简单实例

Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动态的Web用户接口界面。Ajax处理过程 一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它

java学习 1万+

实战指南:UOS专业版命令行高效下载离线安装包及依赖

本文提供了一份UOS专业版离线安装包的实战下载指南。针对无外网环境下的软件部署难题,详细介绍了如何通过命令行精准获取软件包名,并利用`apt download`命令高效下载主程序及其所有依赖。文章重点解析了使用`apt install --dry-run`模拟安装来完整获取依赖包的方法,并给出了离线安装、问题排查及自动化脚本编写等高级技巧,帮助管理员和运维人员实现可靠的批量离线部署。

honey的博客 1111

ajax如何做到异步交互,1.ajax简单实现异步交互

效果:点击获取信息testAjax.jsp:pageEncoding="UTF-8"%>Insert title herefunction getName(){var xmlHttp;//判断浏览器是否兼容if(window.XMLHttpRequest){xmlHttp = new XMLHttpRequest();}else{xmlHttp = new ActiveXObject("Mi...

weixin_30631569的博客 466

信息奥赛课课通(C++)p154-1近似排序

试题描述 读入一对正整数,将这两个数之间(包括这两个数本身)的所有数按下述特别规则排序后输出,该特别规则是按两数倒过来的值进行比较决定其大小,如30倒过来为3,29倒过来为92,则29大于30. 输入要求 1行,包含两个用空格隔开的自然数,这两个自然数给出了待排序数的范围,其中1≤第一个数≤第二个数≤999999999,两个数之差不超过100. 输出要求 输出排序后的数据,每行输出...

mengdicfm的博客 7287

运动目标成像必学:5分钟搞懂keystone变换原理与避坑指南

本文深入浅出地解析了雷达信号处理中的Keystone变换原理,它是解决运动目标距离徙动问题的关键技术。文章通过直观比喻和简化公式,阐述了该变换如何通过变量代换实现距离与慢时间的解耦合,将倾斜轨迹“掰直”,从而提升成像与检测性能。同时,文中重点指出了实际应用中关于大速度场景、插值误差、多目标处理及高阶运动补偿等关键避坑点,为工程实践提供了宝贵指南。

ios99的博客 405

Java——通过ajax与servlet进行简单的前后交互

今天我们一起来学习一下通过ajax和servlet实现一个简单的登录验证的前后交互 首先我们通过ajax将前端页面得到的数据传到我们的servlet中,也ajax将servlet中传回的返回值进行处理 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Inser...

Lanly-Li的博客 2147

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 583

Ajax实例(JAVA)

这是一个用于留言板留言提交与读取的简单实例,不包括回复、编辑与删除等其它管理功能。 本实例的目的在于用一个简单的例子展示如果在java web应用中,用javascript开发Ajax应用。一、web页面 msbord.jsp1、本页面用于留言显示2、本页面提供留言功能,并利用httpxmlrequest提交给servlet保存数据并使用javascript对页面显示进行调整。3、

lijiuu的专栏 2万+

微信小程序|基于小程序+云开发制作一个租房小程序

经济发展的同时伴随着大批人群的流动,租房需求一直是持久不衰的话题,如何租好房,好租房,跟随此文一起制作一个租房小程序,让租房不再困难。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 4931

英飞凌TC3xx--深度手撕HSM安全启动(三)--TC3xx HSM系统架构

TC3xx的HSM内核是一颗32位的ARM Cortex M3,主频可达100MHz,支持对称算法AES128、非对称算法PKC(Public Key Crypto) ECC256、Hash SHA2,以及TRNG(真随机数生成)。

认真搞搞汽车MCU 5749

Servlet+Ajax交互基础案例以及Axios简化请求方式简单解析

doPost的作用是将处理交给doGet处理,因为都是HttpServlet对象,不是原生的,方法都封装好了,可以直接处理,req.getParameter("a")获取传过来的参数,get、post都可以,直接用名字就行,官方都封装好了,2)判断是否存在(过于复杂,演示制作了固定返回),存在返回true,html获取到true后将错误提示的”隐藏“属性删除。open()用来设置请求方式以及链接,可以是资源目录,也可以是完整的http链接。4、回调函数弹出响应内容,我们设置的是返回a和b两个参数。...

qq_45514735的博客 6137

统信UOS丨开机无法进入系统 无法打开控制台访问权限,root账号被锁定(cannot open access to console, the root account is locked)

步骤四:分别打开文件发现Roota下的fstab就是我们要找的文件,打开查看Roota的属性发现其为挂载的磁盘nvme0n1p3。步骤三:按Win+E打开文件管理器在分区中查找/etc/fstab文件,发现Roota和Rootb下都有该文件。步骤二:按键盘Ctrl+Alt+F4,进入终端控制台,如下图所示输入startx回车,进入桌面。步骤一:找到UOS系统安装的U盘,选择U盘启动进入安装界面,如下图所示。步骤七:关机,拔出U盘,启动电脑,OK,问题解决。

Reyn_观极 1万+

ajax与java使用实例,AJAX在Java+Web中的应用实例

《AJAX在Java+Web中的应用实例》由会员分享,可在线阅读,更多相关《AJAX在Java+Web中的应用实例(12页珍藏版)》请在人人文库网上搜索。1、AJAX在Java Web中的应用实例AJAX在Java Web中的实际应用:实例一:会员注册唯一性检查TestAjax1实例二:动态更新下拉列表TestAjaxXml6实例三:刷新页面局部内容(TestAjaxUpdateCounter)7...

weixin_30080745的博客 517

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

spring mvc 和ajax异步交互完整实例代码

转载自 脚本之家 http://m.jb51.net/article/104622.htm 本篇文章主要介绍了spring mvc 和ajax异步交互完整实例代码,简单的AJAX+SpringMVC的异步交互小例子,有兴趣的可以了解一下。 spring MVC 异步交互demo: 1.jsp页面: <%@ page language="java" conte

喜欢就要珍惜,珍惜就别放弃 2409

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java ajax简单实例代码_spring mvc 和ajax异步交互完整实例代码

spring MVC 异步交互demo:1.jsp页面:pageEncoding="utf-8"%>Insert title herefunction ajaxTest(){$.ajax({data:"name="+$("#name").val(),type:"GET",dataType: 'json',url:"user/login.do",error:function(data){ale...

weixin_29793001的博客 156

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: Java Web基础:第二十一讲 Ajax交互的基本过程
下一篇: 这些老师是帮人解决问题的吗?
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值