在之前的学习web前端专栏中已经对Ajax相关知识有过介绍了,不清楚的同学可以看一下这篇博客:从零开始学习WEB前端之数据交互(Ajax) 这里就不在赘述了。

但是之前是用PHP简单的搭了个环境,既然现在学习到javaweb了,那我们就使用java的相关知识来完成一次前后端数据交互的流程。

例子很简单,还是一个登录的示例

这里我们就直接用Jquery版的Ajax进行请求了
首先下载Jquery

这里处理json数据依然使用的是Gson

首先我们先来定义个实体类,用于封装返回数据。

LoginResponse
就两个字段,fig和msg

package data;public class LoginResponse {/*状态  0表示成功 否则表示失败*/private String fig;/*信息*/private String msg;public String getFig() {return fig;}public void setFig(String fig) {this.fig = fig;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}
}

LoginServlet
实体类有了,下面我们来创建个servlet处理登录请求,并将结果返回给客户端。这里返回json数据

package servlet;import com.google.gson.Gson;
import data.LoginResponse;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;@WebServlet(name = "LoginServlet", urlPatterns = "/login.do")
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String account = request.getParameter("account");String pwd = request.getParameter("pwd");LoginResponse loginResponse = new LoginResponse();if (account.equals("yzq") && pwd.equals("123456")) {/*返回登录成功*/loginResponse.setFig("0");loginResponse.setMsg("登录成功");} else {loginResponse.setFig("-1");loginResponse.setMsg("登录失败");}/*将实体类转成json*/String result = new Gson().toJson(loginResponse);System.out.println("返回的结果:" + result);response.setCharacterEncoding("utf-8");response.setContentType("application/json;charset=utf-8");/*返回数据*/response.getWriter().write(result);}
}

登录页面

下面我们在登录页面使用Ajax进行请求,并将请求结果显示到div标签中

<%--Created by IntelliJ IDEA.User: yzqDate: 2018/7/30Time: 13:33To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>登录</title><script type="text/javascript" src="js/jquery-3.3.1.min.js"></script><script>$(function () {$("#ajaxBtn").on("click", function () {/*调登录*/loginWithAjax()})$("#getBtn").on("click", function () {/*调登录*/loginWiteGet()})$("#postBtn").on("click", function () {/*调登录*/loginWithPost()})})function loginWithAjax() {$.ajax({url: "<%=application.getContextPath()%>/login.do",data: {account: $("input[name=account]").val(), pwd: $("input[name=pwd]").val()},type: "POST",success: function (result) {console.log(result)$("#result").html(result.msg)},beforeSend: function () {console.log("请求发送之前")},error: function () {console.log("失败时调用")}})}function loginWiteGet() {$.get("<%=application.getContextPath()%>/login.do",{account: $("input[name=account]").val(), pwd: $("input[name=pwd]").val()},function (data) {console.log(result)$("#result").html(data.msg)})}function loginWithPost() {$.post("<%=application.getContextPath()%>/login.do",{account: $("input[name=account]").val(), pwd: $("input[name=pwd]").val()},function (data) {console.log(result)$("#result").html(data.msg)})}</script></head>
<body>用户名:<input name="account" type="text"/>
<br>
密码:<input name="pwd" type="text">
<br>
<button id="ajaxBtn">ajax登录</button>
<button id="getBtn">get登录</button>
<button id="postBtn">post登录</button><hr>登录结果:
<div id="result"></div></body>
</html>

运行结果;

demo

下一篇比较重要:

Java Web之过滤器(Filter)


如果你觉得本文对你有帮助,麻烦动动手指顶一下,可以帮助到更多的开发者,如果文中有什么错误的地方,还望指正,转载请注明转自喻志强的博客 ,谢谢!

Java Web之Ajax相关推荐

  1. java web 利用ajax 异步向后台提交数据

    前台界面的js代码实现; <script>$(function(){$("#username").focus(function(){$("error" ...

  2. 【Java WEB】AJAX

  3. java web ajax异步刷新页面,ajax自动刷新页面有关问题

    当前位置:我的异常网» Java Web开发 » ajax自动刷新页面有关问题 ajax自动刷新页面有关问题 www.myexceptions.net  网友分享于:2013-12-19  浏览:21 ...

  4. jQuery框架+DWR框架实现的Java Web中的Ajax效果(异步请求,局部刷新)

    一 简介和实现效果 这里用一个小例子来简单举例说明,做一个搜索引擎搜索提示效果,通过不断输入字符,然后在下方给出搜索提示.效果图如下: 通过上图可以看到,当输入一个"a"时,提示了 ...

  5. [Java Web]AJAX Axios | 一种结合HTML来取代传统JSP的技术

    ⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:@逐梦苍穹 ⭐所属专栏:Java Web 目录 1.AJAX 1.1.简介 1.2.作用 1.3.同步和异步 1. ...

  6. Java web实验购物网站(IDEA开发环境,JavaScript,JSP,Servlet,jQuery,Ajax,MySql等)——实现购物车

    Java web实验购物网站 实验要求 实验开发工具及使用技术 准备工作 完整项目目录结构 实验结果展示 实验步骤 小结 项目完整代码及数据库.SQL文件 自学网站 2021.05.25补充 实验要求 ...

  7. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

  8. 名师讲坛—Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    名师讲坛-Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax) 基本信息 作者: 李兴华    王月清   出版社:清华大学出版社 ISBN:9787302231585 ...

  9. java web 2.0 下载地址_《征服Ajax Web2.0快速入门与项目实践(Java)》[PDF]

    征服Ajax Web2.0快速入门与项目实践(Java) 作者:张桂元 贾燕枫 姜波 基本信息 ·出版社:人民邮电出版社 ·页码:300 页 ·出版日期:2006年 ·ISBN:7115148031 ...

最新文章

  1. 客快物流大数据项目(十二):Docker的迁移与备份
  2. 由浅入深laravel教程 :中间件
  3. leetcode 43. Multiply Strings | 43. 字符串相乘(Java)
  4. python 两阶段聚类_挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法...
  5. 文本分类有哪些论文中很少提及却对性能有重要影响的tricks?
  6. MY WAY程序(十八) 团队开发
  7. 高品质UI设计模板PSD下载,设计师的最佳临摹素材
  8. POJ 3308 最少点集覆盖
  9. 请领导批阅文件怎么说_有请考过的说物业经理资格证怎么考?
  10. 英语----情态动词---半情态动词
  11. 孔浩用的mysql工具_springmvc 孔浩 hibernate
  12. 搜索引擎算法研究(一)
  13. prisma orm_如何使用Node.js和Prisma构建GraphQL服务器
  14. 计算机网上培训6,wordexcel计算机基础培训6.pptx
  15. 这段c语言代码牛逼在哪?看得我一脸懵逼!
  16. EF An error occurred while updating the entries. See the inner exception for details.
  17. (论文阅读)基于融合深度卷积神经网络的人脸识别方法研究-褚玉晓
  18. Elasticsearch 7.X-8.0 AggregationBuliders 相关聚合函数(一)计数指标-百分位数
  19. 计算机相关专业宣讲会日程
  20. 微信小程序中自定义组件

热门文章

  1. Android Input事件处理
  2. shell脚本中等待上一条命令执行结束在执行下一条。
  3. 数据中心100G主流应用技术分析
  4. Arduino/stm32 智能小车设计(一)
  5. ios文件连接 百度网盘服务器,iOS系统教程:iphone怎么解压百度网盘文件
  6. hashTabel List 和 dic
  7. IDEA中如何将一个JavaWeb项目打包成war包
  8. VBA之正则表达式(3)-- 特殊公式计算
  9. 高等流体力学复习04
  10. python求数的积_python求数组积