当前位置:网站首页>【无标题】
【无标题】
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>
- 测试
边栏推荐
猜你喜欢
典型相关分析CCA计算过程
The master teaches you the 3D real-time character production process, the game modeling process sharing
[CVA Valuation Training Camp] Financial Modeling Guide - Lecture 1
Couple Holding Hands [Greedy & Abstract]
入门3D游戏建模师知识必备
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
OpenCV:10特征检测
建模师经验分享:模型学习方法
Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
《MySQL入门很轻松》第2章:MySQL管理工具介绍
随机推荐
Modelers experience sharing: model study method
Huggingface入门篇 II (QA)
After another 3 days, I have sorted out 90 NumPy examples, and I can't help but bookmark it!
【无标题】线程三连鞭之“线程池”
什么是次世代建模(附学习资料)
The role of @ Import annotations as well as how to use
Brainstorm: Complete Backpack
【unity编译器扩展之模型动画拷贝】
KT148A语音芯片ic工作原理以及芯片的内部架构描述
NebulaGraph v3.2.0 Release Note, many optimizations such as the performance of querying the shortest path
情人节---快来学习一下程序员的专属浪漫吧
网站最终产品页使用单一入口还是多入口?
Cloud native - Kubernetes 】 【 scheduling constraints
入门3D游戏建模师知识必备
Couple Holding Hands [Greedy & Abstract]
Uniapp dynamic sliding navigation effect demo (finishing)
Mysql based
《MySQL入门很轻松》第2章:MySQL管理工具介绍
Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters
Senior game modelers tell newbies, what are the necessary software for game scene modelers?