JavaWeb简单实例——jQuery

news2025/1/12 23:31:32

简单介绍:

在之后的学习中,我们会接触到Ajax异步请求,这个异步请求需要我们在网页端使用JS来发送,而使用原生的Ajax请求比较复杂,所以我们就借用一个前端框架封装后的Ajax请求,这样可以简化我们的代码编写量,而这个前端框架就是jQuery。

什么是jQuery?

jQuery是一款跨浏览器开源的JavaScript库,他的核心理念是“写的更少,做得更多”,通过将原生的JS事件进行封装,可以简化我们的代码量,提升我们的代码开发效率。

文件下载:

jQuery的依赖文件是一个js文件,所以我们首先需要下载,然后在HTML页面中进行引入之后才可以进行使用。

https://code.jquery.com/jquery-3.6.1.js

下载好之后,我们需要创建一个HTML文件,然后在页面中引入这个文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<p>

</p>

</body>
</html>

 

放置发生路径错误,在前期测试和学习阶段,我们就把JS文件和HTML文件放在同一文件夹下,方便我们引用和寻找路径。

简单应用:

jQuery的学习属于前端的部分,这里我们只需要知道基本的选择器,load方法,插入数据的方法就可以了。

id选择器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<p id="main">这是一个p标签,id为main</p>
<script>
<!--    选择ip为main的元素-->
    const main = $('#main');
    //将其输入在浏览器的控制台
    console.log(main)
</script>
</body>
</html>

 输出显示:

 这里需要说一下,jQuery在引入之后,可以使用一个$代替jQuery对象调用方法,也就是说:

$ === jQuery

类选择器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<p class="main">这是一个p标签,id为main</p>
<script>
<!--    选择class为main的元素-->
    //类选择器就是将井号变成句号
    const main = $('.main');
    //将其输入在浏览器的控制台
    console.log(main)
</script>
</body>
</html>

 输出效果:

绑定事件:

我们使用点击事件进行演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<button id="main">点击按钮,在控制台输出被点击了</button>
<script>
<!--    就是在选择器后面跟上事件的名字,然后参数就是回调函数,就是当事件被触发之后要做的事情-->
$('#main').click(()=>{
    //向控制台输出一句话
    console.log('被点了一下')
})
</script>
</body>
</html>

 

向元素添加内容:

使用.html()方法向元素中添加内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<button id="main">点击按钮,在控制台输出被点击了</button>
<p class="p1">这是原始的内容</p>
<script>
<!--    就是在选择器后面跟上事件的名字,然后参数就是回调函数,就是当事件被触发之后要做的事情-->
$('#main').click(()=>{
    //在点击按钮之后,就会将原本的内容替换成html方法里面的参数
    $('.p1').html('点击之后就会将原本的内容修改成现在这样')
})
</script>
</body>
</html>

load()方法:load方法就是请求HTML并用来指定元素的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<button id="main">点击按钮,在控制台输出被点击了</button>
<p class="p1">这里马上就会出现一个表格</p>
<script>
    $('#main').click(() => {
        //将原本的p1的地方替换成我们请求的网页内容
        $('.p1').load('Data.html')
    })
</script>
</body>
</html>

运行效果:

load方法除了url参数还可以有其他参数:

url请求地址
data向服务器发送的数据
callback回调函数

 其中请求地址我们已经说过了,当参数中还有data的时候,就是向服务器发送数据:

代码实现:

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<button id="main">点击按钮,在控制台输出被点击了</button>
<p class="p1">这里马上就会出现一个表格</p>
<script>
    $('#main').click(() => {
        $('.p1').load('http://localhost/ajaxServer',{username:'张三',passwd:'123456'})
    })
</script>
</body>
</html>

Servlet:

package Semester_3.src.AJAX;

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 = "ajaxServer" , value = "/ajaxServer")
public class ajaxServer extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String passwd = req.getParameter("passwd");
        resp.getWriter().write(username);
        resp.getWriter().write(passwd);
        System.out.println("用户名为:"+username);
        System.out.println("密码为:"+passwd);
    }

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

运行效果:

 load的第三个参数是回调函数,用来在数据请求完成之后的请求信息,其中有三个默认参数,分别代表响应数据,请求状态和XMLReuqery对象:

代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用jQuery封装后的Ajax</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<button id="main">点击按钮,在控制台输出被点击了</button>
<p class="p1">这里马上就会出现一个表格</p>
<script>
    $('#main').click(() => {
        $('.p1').load('http://localhost/ajaxServer',{username:'张三',passwd:'123456'},(data,state,XMLRequest)=>{
            console.log(data)
            console.log(state)
            console.log(XMLRequest)
        })
    })
</script>
</body>
</html>

运行效果:

 报错啦~,这是因为其中有一个跨域问题,当然我们现在不需要关心,我们并不常用这个load方法,而是使用其他的方法,在之后的章节中我们会进行解释。

jQuery的get请求方式:

发起请求的jsp页面:

<%--
  Created by IntelliJ IDEA.
  User: 33680
  Date: 2022/11/29
  Time: 8:03
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>jQuery的get请求方式</title>
    <script src="jquery-3.6.1.js"></script>
</head>
<body>
<button type="button">加载数据</button>
<div class="data"></div>
<script>
    $('button').click(()=>{
        $.get('http://localhost:8080/AjaxServlet',{username:'张三',password:'123456'},(data)=>{
            $('.data').html(data)
        })
    })
</script>
</body>
</html>

响应数据的Servlet类:

package Semester_3.src.ajax;

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="AjaxServlet" , value = "/AjaxServlet")
public class AjaxServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().write("注册成功!");
        resp.getWriter().write("<br/>");
        resp.getWriter().write("用户名:"+username);
        resp.getWriter().write("<br/>");
        resp.getWriter().write("密码:"+password);
    }

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大坝安全动态监管预警系统 大坝安全监测平台 遥测终端机 水位雨量监测站

平升电子大坝安全动态监管预警系统/大坝安全监测平台/大坝安全监测系统根据SL551-2012《土石坝安全监测技术规范》的整编要求&#xff0c;设置了变形监测、渗流监测、环境量监测。借助该系统可及时了解大坝的工作性态和水库可能存在的事故隐患&#xff0c;为大坝安全管理与水库…

Linux 安装 ElasticSearch

注意事项&#xff1a; 内存不能太小&#xff0c;否则会启动失败JDK版本需要对应&#xff0c;es7 需要 Java 11不能以 root 用户启动 平台确认 大家可以自行安装虚拟机部署&#xff0c;有条件可以在服务器操作。 安装Java 安装 Elasticsearch 之前&#xff0c;你需要先安装一个较…

04. 组合总和

1.题目链接&#xff1a; 39. 组合总和 2.解题思路&#xff1a; 2.1.题目要求&#xff1a; 给定一个“无重复数组candidates”和一个“目标和target” &#xff0c;要求在给定 数组candidates 的范围内&#xff0c;输出和等于 目标和target 的组合&#xff0c;此组合元素可重复…

Java程序员:三个月刷完1000道面试真题,没想到老板直接给我升职了

同事&#xff1a;前阵子听说你要跳槽&#xff0c;现在准备得怎么样啊&#xff1f;程序员T&#xff1a;不跳了同事&#xff1a;啊&#xff1f;为什么&#xff1f;程序员T&#xff1a;涨薪了呗&#xff1f;同事&#xff1a;真的吗&#xff1f;涨了多少&#xff1f;你自己跟老板谈…

卓豪再签洛钼集团,实现AD域自动化管理有效降低管理人员工作负荷

2022年11月&#xff0c;ManageEngine卓豪续签上海董禾商贸有限公司&#xff0c;将为“洛钼集团”部署ADManager Plus软件&#xff0c;助力IT管理摆脱复杂AD域管理操作&#xff0c;实现AD域管理自动化。 上海董禾商贸 上海董禾商贸有限公司作为洛钼集团在上海的主体公司。洛阳栾…

2.9.39:Flexmonster:网络报告数据透视表组件

用于网络报告的数据透视表组件 用于可视化业务数据的最强大的 JavaScript 工具 与任何技术堆栈集成 该组件可与任何技术堆栈无缝协作&#xff1a; 与Angular、React、jQuery、Vue等 完美集成 没有服务器端依赖 只需几行代码即可开始使用。 加载海量数据集 即使有超过一百万行…

珠宝商城小程序开发的价值和优势

珠宝行业的巨大利润空间就决定了行业内激烈的竞争压力&#xff0c;而随着时代的发展&#xff0c;单一的线下门店营销方式很难让珠宝行业得到更好的发展。为了防止顾客流失&#xff0c;挖掘潜在的消费潜力&#xff0c;珠宝行业开始向科技化、互联网化、移动化的方向开拓市场&…

Sentinel-2(哨兵2数据介绍)

哥白尼 Sentinel-2&#xff08;哨兵 2&#xff09;计划是一个由两颗相同的 Sentinel-2 极轨卫星组成的星座&#xff0c;两颗卫星相位差 180&#xff0c;运行在平均高度 786 km 的太阳同步轨道上。每颗卫星在其轨道上的位置由双频全球导航卫星系统&#xff08;GNSS&#xff09;接…

Kubernetes资源调度之污点与Pod容忍度

Kubernetes资源调度之污点与Pod容忍度 概述 污点是定义在节点之上的键值型属性数据&#xff0c;用于让节点有能力主动拒绝调度器将Pod调度运行到节点上&#xff0c;除非该Pod对象具有接纳节点污点的容忍度。容忍度(tolerations)则是定义在Pod对象上的键值型属性数据&#xff0c…

WAVE SUMMIT+2022明日开场,六大看点不容错过!

在2022年最后一个乐章奏响之前&#xff0c;WAVE SUMMIT第八届峰会将率先拉开帷幕。11月30日&#xff0c;由深度学习技术及应用国家工程研究中心主办、百度飞桨承办的WAVE SUMMIT2022深度学习开发者峰会将以网上直播的方式呈现。明日14点&#xff0c;冬日AI盛会WAVE SUMMIT2022将…

.Net 7 Native AOT 单文件 无依赖 跨平台

2022.11.18 Native AOT 正式发布&#xff0c;不再是 实验性项目。 .Net 7 Console App & WebApi 使用PublishAOT true&#xff0c;直接编译 成exe&#xff0c;无rutime依赖&#xff0c;智能裁剪&#xff0c;体积小&#xff0c;启动快。 环境&#xff1a; 1.更新VS2022 …

安科瑞智能余压监控系统余压控制器ARPM-C 监控余压值/接收报警信息

1、概述 ARPM-C型余压控制器&#xff0c;可监控所连接余压探测器的余压值&#xff0c;接收余压探测器的报警信息&#xff0c;并向余压监控器反馈现场工作状态&#xff0c;当余压过高报警时联动风阀执行器调节泄压阀&#xff0c;能够持续调节泄压阀的开启角度。 2、产品型号 …

Java JUC并发容器之BlockingQueue的多种实现详解

Java JUC并发容器之BlockingQueue的多种实现详解 文章目录Java JUC并发容器之BlockingQueue的多种实现详解BlockingQueueArrayBlockingQueueLinkedBlockingQueueLinkedBlockingQueue和ArrayBlockingQueue的差异PriorityBlockingQueueDelayQueueSynchronousQueueBlockingQueue …

首次公开,GitHub点击破百万的分布式高可用算法小册被我扒下来了

想成为分布式高手&#xff1f;那就先把协议和算法烂熟于心吧&#xff01;这就不得不提到著名的——《分布式高可用算法》&#xff01; 目前网上还没有开源版本&#xff0c;今天我就当一次“互联网雷锋” &#xff0c;免费获取方式我放在文末了 作者介绍 江峰&#xff0c;教授…

用R对Twitter用户的编程语言语义分析

Twitter是一个流行的社交网络&#xff0c;这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。最近我们被客户要求撰写关于Twitter的研究报告&#xff0c;包括一些图形和统计输出。本文是关于如何使用Twitter R包获取twitter数据并将其导入R&…

linux /usr/lib/共享库为何几乎都有链接(像是快捷方式)?

linux 共享库为什么要建立那么多link QT建立的共享库&#xff0c;输出的时候会有三个链接文件&#xff0c;有疑惑为什么要这么多文件呢&#xff1f;是什么规则考虑的&#xff1f; 可能这么做有好处&#xff0c;就是可以随时切换库的版本吧。 Linux下软链接的使用技巧 - 腾讯云…

Nodejs -- Express的安装和定义get、post方法

文章目录Express的基本使用1 安装2 基本使用3 监听GET请求4 监听POST请求5 把内容响应给客户端6 获取URL中携带的查询参数7 获取URL中的动态参数Express的基本使用 1 安装 在项目所处的目录中&#xff0c;运行如下的终端命令&#xff0c;即可将express安装到项目中使用&#…

【问题思考】二重积分积分限上的x和积分内部的x有什么区别?【几何直观】

问题 在做这个积分的时候&#xff0c;产生了一个疑问&#xff0c;就是这个积分中&#xff0c;第一次积分能将x视为常数已经成为一个下意识的动作了&#xff0c;然而&#xff0c;是否能够真的将积分中的x看作常数&#xff1f;而这个积分限上也有一个x&#xff0c;这个积分限上的…

【java|golang】1758. 生成交替二进制字符串的最少操作数

给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中&#xff0c;你可以将任一 ‘0’ 变成 ‘1’ &#xff0c;或者将 ‘1’ 变成 ‘0’ 。 交替字符串 定义为&#xff1a;如果字符串中不存在相邻两个字符相等的情况&#xff0c;那么该字符串就是交替字符串。例如&a…

云边缘网关TG453

5G云边缘网关TG453&#xff0c;广泛应用于工控物联网等场景&#xff0c;具备组网、数据采集、协议解析、无线通信、远程控制能力。全网通5G网络&#xff0c;同时支持边缘计算&#xff0c;满足大接入量数据处理和及时反馈的低延时任务应用。 5G云边缘网关TG453功能 部署在本地现…