当前位置:网站首页>【无标题】
【无标题】
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>
- 测试
边栏推荐
- 4 - "PyTorch Deep Learning Practice" - Backpropagation
- 软件质量评估的通用模型
- Uniapp dynamic sliding navigation effect demo (finishing)
- lua 如何 实现一个unity协程的工具
- VMware NSX 4.0 -- 网络安全虚拟化平台
- 《MySQL入门很轻松》第2章:MySQL管理工具介绍
- 【云原生--Kubernetes】Pod控制器
- E - Distance Sequence (前缀和优化dp
- D - I Hate Non-integer Number (选数的计数dp
- MongoDB权限验证开启与mongoose数据库配置
猜你喜欢

MongoDB权限验证开启与mongoose数据库配置

电子行业MES管理系统的主要功能与用途

STC89C52RC的P4口的应用问题

VMware NSX 4.0 -- 网络安全虚拟化平台

MAUI Blazor 权限经验分享 (定位,使用相机)

matlab中rcosdesign函数升余弦滚降成型滤波器

【LeetCode】矩阵模拟相关题目汇总

The master teaches you the 3D real-time character production process, the game modeling process sharing

软件质量评估的通用模型

Metasploit-域名上线隐藏IP
随机推荐
矩阵数学原理
美团二面:Redis与MySQL双写一致性如何保证?
工业物联网 —— 新型数据库的召唤
#yyds干货盘点#交换设备丢包严重的故障处理
再肝3天,整理了90个 NumPy 例子,不能不收藏!
mysql基础
资深游戏建模师告知新手,游戏场景建模师必备软件有哪些?
【unity编译器扩展之模型动画拷贝】
oracle创建用户以后的权限问题
#yyds dry goods inventory #Switching equipment serious packet loss troubleshooting
Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
Three tips for you to successfully get started with 3D modeling
【CVA估值训练营】财务建模指南——第一讲
ansible学习笔记分享-含剧本示例
《MySQL入门很轻松》第2章:MySQL管理工具介绍
leetcode:267. 回文排列 II
STC89C52RC的P4口的应用问题
E - Many Operations (按位考虑 + dp思想记录操作后的结果
Basic web in PLSQL
The role of @Async annotation and how to implement asynchronous listening mechanism