中软国际实习第七天-Ajax使用

本文详细介绍了Ajax技术的概念及其在网页开发中的应用。通过具体的步骤演示了如何利用Ajax进行数据的异步加载,包括前后端交互的过程,并对比了GET与POST请求的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ajax使用

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。Ajax 是一种用于创建快速动态网页的技术。Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。下面就Ajax的使用流程进行说明:
(1)在webapp下导入js包
(2)在header中加入引用声明

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>

(3)在页面中加入对js的调用
表单中复选框设置name为ids,value为userInfo.id,用于给函数传参

<td><input name="ids" type="checkbox" value="${userInfo.id}"></td>
给“批量删除”按钮增加对deleteAll函数的调用
<button type="button" class="btn btn-default" title="批量删除"
      onclick="deleteAll()" >
   <i class="fa fa-file-o"></i> 批量删除
</button>

(4)在header中增加对函数的具体实现
其中@ResponseBody为声明返回JSON字符串给前端

@RequestMapping("/deleteAll.do")
@ResponseBody
public String deleteAll(String userList){
    String[] strs = userList.split(",");
    List<Integer> ids = new ArrayList<>();
    for(int i = 0; i < strs.length; i++){
        ids.add(Integer.parseInt(strs[i]));
    }
    userInfoService.deleteAll(ids);
    return "";
}

(5)分别进行持久层、服务层和控制层的实现
// 持久层接口

void deleteAll(List<Integer> ids);
// mapper文件实现
<delete id="deleteAll" parameterType="list">
    delete from userinfo where id in
        <foreach collection="list" item="id" open="(" close=")" separator=",">
            #{id}
        </foreach>
</delete>

//服务层实现

@Override
public void deleteAll(List<Integer> ids) {
    userInfoDao.deleteAll(ids);
}

// 控制层实现

@RequestMapping("/deleteAll.do")
@ResponseBody
public String deleteAll(String userList){
    String[] strs = userList.split(",");
    List<Integer> ids = new ArrayList<>();
    for(int i = 0; i < strs.length; i++){
        ids.add(Integer.parseInt(strs[i]));
    }
    userInfoService.deleteAll(ids);
    return "";
}

(6)效果展示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用Spring Security进行授权和认证

(1)使用认证来显示用户信息

<div class="pull-left info">
   <p>
      <security:authentication property="principal.username"></security:authentication>
   </p>
   <a href="#"><i class="fa fa-circle text-success"></i> 在线</a>
</div>

(2)使用权限来对视图进行管理,有权限的用户可以看到“用户管理”模块

<security:authorize access="hasRole('ADMIN')">
   <a
   href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5"> <i
      class="fa fa-circle-o"></i> 用户管理
   </a>
</security:authorize>

get请求与post请求

get请求:
实例:查询,获取用户信息
特点:传参显示在URL中,常用于获取信息而非修改信息
缺陷:由于传参是后缀在URL中一起发送,因此传参内容收到URL长度的限制,此外也会有一定的安全问题。

post请求:
实例:表单数据发送,更新用户信息
特点:放在HTTP的包中发送,不会显示在URL中,POST的内容是没有长度限制的。常用于修改资源。

参考资料

[1].https://baike.baidu.com/item/ajax/8425
[2].https://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html

资源下载链接为: https://pan.quark.cn/s/d37d4dbee12c A:计算机视觉,作为人工智能领域的关键分支,致力于赋予计算机系统 “看懂” 世界的能力,从图像、视频等视觉数据中提取有用信息并据此决策。 其发展历程颇为漫长。早期图像处理技术为其奠基,后续逐步探索三维信息提取,与人工智能结合,又经历数学理论深化、机器学习兴起,直至当下深度学习引领浪潮。如今,图像生成合成技术不断发展,让计算机视觉更深入人们的日常生活。 计算机视觉综合了图像处理、机器学习、模式识别深度学习等技术。深度学习兴起后,卷积神经网络成为核心工具,能自动提炼复杂图像特征。它的工作流程,首先是图像获取,用相机等设备捕获视觉信息并数字化;接着进行预处理,通过滤波、去噪等操作提升图像质量;然后进入关键的特征提取描述环节,提炼图像关键信息;之后利用这些信息训练模型,学习视觉模式规律;最终用于模式识别、分类、对象检测等实际应用。 在实际应用中,计算机视觉用途极为广泛。在安防领域,能进行人脸识别、目标跟踪,保障公共安全;在自动驾驶领域,帮助车辆识别道路、行人、交通标志,实现安全行驶;在医疗领域,辅助医生分析医学影像,进行疾病诊断;在工业领域,用于产品质量检测、机器人操作引导等。 不过,计算机视觉发展也面临挑战。比如图像生成技术带来深度伪造风险,虚假图像视频可能误导大众、扰乱秩序。为此,各界积极研究检测技术,以应对这一问题。随着技术持续进步,计算机视觉有望在更多领域发挥更大作用,进一步改变人们的生活工作方式 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值