Servlet入门

本文详细介绍了JavaWeb开发中的URL与URI的区别,HTTP请求与响应结构,包括请求转发、响应重定向、Cookie和Session的使用,以及ServletContext的作用。同时涵盖了解决中文乱码、GET/POST编码、web.xml配置和Maven打包发布等内容。

URL和URI:
URL统一资源定位符,表示对外暴露的整个网址
URI统一资源标示符,表示资源的访问路径,与servlet绑定的地址

HTTP请求结构:

HTTP请求包含三部分:请求行、请求头、请求体
在这里插入图片描述

在这里插入图片描述
请求行包含:请求方法、请求URI、HTTP协议和版本
在这里插入图片描述

HTTP响应结构:

HTTP响应包括三部分:响应行、响应头、响应体
在这里插入图片描述
在这里插入图片描述
响应行包含:HTTP协议及版本、状态码和状态码描述
在这里插入图片描述
HTTP常见状态码:
在这里插入图片描述
ContentType决定浏览器对响应体的处理方式:
在这里插入图片描述

请求转发与响应重定向

request.getRequestDispatcher().forward()请求转发,只会产生一次请求,服务器跳转,地址栏中的地址不变,请求处理的方式要一致,只能在应用内转发;
response.sendRedirect()响应重定向,会产生两次请求,地址栏中的地址会变,响应重定向后的请求默认是Get方法,需要用doGet()方法去处理;

设置请求自定义属性:(只适用于请求转发的场景)
request.setAttribute(属性名,属性值);设置请求属性
Object attr=request.getAttribute(属性名,属性值);获取请求属性

Cookie和Session

Cookie是浏览器保存在本地的文本内容,默认只有当前域名下的程序才能读取数据,Cookie具有实效性,会伴随请求头发送给服务器。

Cookie的实效性有两种:

  • 默认Cookie有效期和当前浏览器进行绑定,浏览器关闭时失效
  • 设置过期时间,Cookie过期后才会失效
    在这里插入图片描述在这里插入图片描述
    Session用于保存浏览器窗口对应的数据,存储在服务器中,具有实效性,Session通过浏览器Cookie的SessionId值提取用户数据,Session默认时长是30分钟
    request.getSession()获取Session对象
    get|set|removeAttribute()获取|设置|删除Session属性
    setMaxInactiveInterval()设置Session超时时间
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

默认浏览器窗口关闭后cookie消失,session还存在,默认30分钟后session销毁;

在请求转发中,可以使用请求自定义属性完成跨请求的数据交换;在响应重定向中,可以使用session完成跨请求的数据交换功能;

Chrome浏览器中打开的不同页面携带相同的session信息

ServletContext

Servlet上下文对象,是Web应用全局对象,一个Web应用只会创建一个ServletContext对象,随着Web应用启动自动创建

ServletContext可以自定义属性,可以将一些静态数据存放在ServletContext自定义属性中,方便取用
在这里插入图片描述
在这里插入图片描述

Java Web三大作用域对象

  • HttpServletRequest,请求对象
  • HttpSession,用户会话对象
  • ServletContext,Web应用全局对象

解决中文乱码问题:
由于发送方和接收方对数据使用不同的字符集解析会导致中文乱码问题,统一使用UTF-8编码即可解决中文乱码问题。

请求中的GET方法默认使用UTF-8编码,POST方法需要额外设置UTF-8编码。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
响应中通过setContentType设置字符集即可
在这里插入图片描述
web.xml常用配置
1.设置默认首页,输入localhost:8080可以默认进入的页面
在这里插入图片描述
2.通配符的使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动时加载Servlet

  • web.xml使用<load-on-startup>设置启动加载
  • <load-on-startup>0~9999</load-on-startup>数字越小越靠前
  • 启动时加载在工作中用于系统的预处理

在这里插入图片描述

在这里插入图片描述
自定义错误页面
在这里插入图片描述
Java Web打包与发布

Java Web采用war包发布
在这里插入图片描述
Maven的Scope属性
在这里插入图片描述
在这里插入图片描述
使用maven打包后,将war包复制到tomcat的webapps目录下,即发布完成
在这里插入图片描述

内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算法(如CPO)在路径规划中的实际部署与性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为与系统鲁棒性。
在科技快速演进的时代背景下,移动终端性能持续提升,用户对移动应用的功能需求日益增长。增强现实、虚拟现实、机器人导航、自动驾驶辅助、手势识别、物体检测与距离测量等前沿技术正成为研究与应用的热点。作为支撑这些技术的核心,双目视觉系统通过模仿人类双眼的成像机制,同步获取两路图像数据,并借助图像处理与立体匹配算法提取场景深度信息,进而生成点云并实现三维重建。这一技术体系对提高移动终端的智能化程度及优化人机交互体验具有关键作用。 双目视觉系统需对同步采集的两路视频流进行严格的时间同步与空间校正,确保图像在时空维度上精确对齐,这是后续深度计算与立体匹配的基础。立体匹配旨在建立两幅图像中对应特征点的关联,通常依赖复杂且高效的计算算法以满足实时处理的要求。点云生成则是将匹配后的特征点转换为三维空间坐标集合,以表征物体的立体结构;其质量直接取决于图像处理效率与匹配算法的精度。三维重建基于点云数据,运用计算机图形学方法构建物体或场景的三维模型,该技术在增强现实与虚拟现实等领域尤为重要,能够为用户创造高度沉浸的交互环境。 双目视觉技术已广泛应用于多个领域:在增强现实与虚拟现实中,它可提升场景的真实感与沉浸感;在机器人导航与自动驾驶辅助系统中,能实时感知环境并完成距离测量,为路径规划与决策提供依据;在手势识别与物体检测方面,可精准捕捉用户动作与物体位置,推动人机交互设计与智能识别系统的发展。此外,结合深度计算与点云技术,双目系统在精确距离测量方面展现出显著潜力,能为多样化的应用场景提供可靠数据支持。 综上所述,双目视觉技术在图像处理、深度计算、立体匹配、点云生成及三维重建等环节均扮演着不可或缺的角色。其应用跨越多个科技前沿领域,不仅推动了移动设备智能化的发展,也为丰富交互体验提供了坚实的技术基础。随着相关算法的持续优化与硬件性能的不断提升,未来双目视觉技术有望在各类智能系统中实现更广泛、更深层次的应用。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值