当前位置:网站首页>【无标题】
【无标题】
2022-08-05 00:12:00 【缘友一世】
前言
作为一个计算机专业的人,学习,记笔记,领悟是一个必经的过程!
没有鲜花、掌声,但是我还是要写下自己学习的东西
同样的知识,不一样精彩……
九 Ajax
9.1 概念
- AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
- AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
- Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
- 传统的网页(即不用ajax技术的网页),想要更新内容或者提交一个表单,都需要重新加载整个网页。
- 使用ajax技术的网页,通过在后台服务器进行少量的数据交换,就可以实现异步局部更新。
- 使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。
9.2 jQuery.ajax
- Ajax的核心是XMLHttpRequest对象(XHR)。XHR为向服务器发送请求和解析服务器响应提供了接
口。能够以异步方式从服务器获取新数据。 - jQuery 不是生产者,而是大自然搬运工。jQuery 提供多个与 AJAX 有关的方法。
- 通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON – 同时您能够把这些外部数据直接载入网页的被选元素中。
- jQuery Ajax本质就是 XMLHttpRequest,对他进行了封装,方便调用!
jQuery.ajax(...)
部分参数:
url:请求地址
type:请求方式,GET、POST(1.9.0之后用method)
headers:请求头
data:要发送的数据
contentType:即将发送信息至服务器的内容编码类型(默认: "application/x-wwwform-urlencoded;charset=UTF-8")
async:是否异步
timeout:设置请求超时时间(毫秒)
beforeSend:发送请求前执行的函数(全局)
complete:完成之后执行的回调函数(全局)
success:成功之后执行的回调函数(全局)
error:失败之后执行的回调函数(全局)
accepts:通过请求头发送给服务器,告诉服务器当前客户端课接受的数据类型
dataType:将服务器端返回的数据转换成指定类型
"xml": 将服务器端返回的内容转换成xml格式
"text": 将服务器端返回的内容转换成普通文本格式
"html": 将服务器端返回的内容转换成普通文本格式,在插入DOM中时,如果包含JavaScript标签,则会尝试去执行。
"script": 尝试将返回值当作JavaScript去执行,然后再将服务器端返回的内容转换成普通文本格式
"json": 将服务器端返回的内容转换成相应的JavaScript对象
"jsonp": JSONP 格式使用 JSONP 形式调用函数时,如 "myurl?callback=?"jQuery 将自动替换 ? 为正确的函数名,以执行回调函数
十 拦截器
10.1 概念
- SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。
- 过滤器与拦截器的区别:拦截器是AOP思想的具体应用。
- 过滤器
- servlet规范中的一部分,任何java web工程都可以使用
- 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截
- 拦截器
- 拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用
- 拦截器只会拦截访问的控制器方法, 如果访问的是jsp/html/css/image/js是不会进行拦截的
10.2 自定义拦截器
- 想要自定义拦截器,必须实现 HandlerInterceptor 接口。
- 编写一个拦截器
public class MyInterceptor implements HandlerInterceptor {
//在请求处理的方法之前执行
//如果返回true执行下一个拦截器
//如果返回false就不执行下一个拦截器
public boolean preHandle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o) throws Exception {
System.out.println("处理前");
return true;
}
//在请求处理方法执行之后执行
public void postHandle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
System.out.println("处理后");
}
//在dispatcherServlet处理后执行,做清理工作.
public void afterCompletion(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse, Object o, Exception e) throwsException {
System.out.println("清理");
}
}
- 在springmvc的配置文件中配置拦截器
<!--关于拦截器的配置-->
<mvc:interceptors>
<mvc:interceptor>
<!--/** 包括路径及其子路径-->
<!--/admin/* 拦截的是/admin/add等等这种 , /admin/add/user不会被拦截-->
<!--/admin/** 拦截的是/admin/下的所有-->
<mvc:mapping path="/**"/>
<!--bean配置的就是拦截器-->
<bean class="com.kuang.interceptor.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
- 编写一个Controller,接收请求
@Controller
public class InterceptorController {
@RequestMapping("/interceptor")
@ResponseBody
public String testFunction() {
System.out.println("控制器中的方法执行了");
return "hello";
}
}
- . 前端 index.jsp
<a href="${pageContext.request.contextPath}/interceptor">测试</a>
- 测试
边栏推荐
猜你喜欢
入门3D游戏建模师知识必备
10 种常见的BUG分类
【Valentine's Day special effects】--Canvas realizes full screen love
找不到DiscoveryClient类型的Bean
[Cloud Native--Kubernetes] Pod Controller
NebulaGraph v3.2.0 Release Note, many optimizations such as the performance of querying the shortest path
导入JankStats检测卡帧库遇到问题记录
图解 Canvas 入门
VMware NSX 4.0 -- 网络安全虚拟化平台
学会反射后,我被录取了(干货)
随机推荐
矩阵数学原理
【数据挖掘概论】数据挖掘的简单描述
jenkins发送邮件系统配置
DNS常见资源记录类型详解
【LeetCode】滑动窗口题解汇总
2022年华数杯数学建模
导入JankStats检测卡帧库遇到问题记录
.net(C#)获取两个日期间隔的年月日
oracle创建用户
【Valentine's Day special effects】--Canvas realizes full screen love
Brainstorm: Complete Backpack
Some thoughts on writing
Cython
The role of @Async annotation and how to implement asynchronous listening mechanism
[CVA Valuation Training Camp] Financial Modeling Guide - Lecture 1
Mysql_14 存储引擎
MAUI Blazor 权限经验分享 (定位,使用相机)
leetcode:267. 回文排列 II
【论文笔记】—低照度图像增强—Unsupervised—EnlightenGAN—2019-TIP
《MySQL入门很轻松》第2章:MySQL管理工具介绍