当前位置: 首页 > news >正文

Servlet基础

C/S架构:

(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。

B/S架构:

(浏览器/服务器)结构,是随着internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。

C/S架构和B/S架构的区别
B/S架构C/S架构
软件安装浏览器需要专门的客户端应用
升级维护客户端零维护客户端需要单独维护和升级
平台相关与操作系统平台的关系最小化对客户端操作系统一般有限制
性能安全在响应速度和安全性上需要花费更多的设计成本能充分发挥客户端处理能力,客户端响应快

什么是URL?

http://localhost:8080/news/index.html

http:协议部分

localhost:8080:主机的IP地址:端口号

news/index.html:项目资源地址

Tomcat介绍

Tomcat目录结构
目录说明
/bin存放各种平台下用于启动和停止Tomcat的脚本文件
/conf存放Tomcat服务器的各种配置文件
/lib存放Tomcat服务器所需的各种JAR文件
/logs存放Tomcat的日志文件
/tempTomcat运行时用于存放临时文件
/webapps当发布web应用时,默认情况下会将web应用的文件存放于此目录
/workTomcat把由jsp生成的Servlet放于此目录中

Tomcat服务器应用

  • 解压缩版本Tomcat的配置
  • 添加系统变量,名称为CATALINA_HOME,值为Tomcat的安装目录
  • 因Tomcat运行依赖JRE,确保已安装JRE并配置JRE_HOME环境变量。或针对已安装的JDK配置JAVA_HOME环境变量。
  • Tomcat服务启动检测
  • 在IE地址栏中输入http://localhost:端口号
  • 页面进入到Tomcat启动成功界面

HttpServletRequest接口

方法名称功能描述
String getContextPath()返回请求URL中表示请求上下文的路径,上下文路径是请求URL的开始部分
Cookie[] getCookies()返回客户端再次请求中发送的所有cookie对象
HttpSession getSession()返回和此次请求相关联的session,如果没有给客户端分配session,则创建一个新的session
String getMethod()返回此次请求所使用的HTTP方法的名字,如GET,POST
String getHeader(String name)返回指定的请求头信息

HttpSession接口

方法名称说明
String getId()获取sessionid
void setMaxinactiveInterval(int interval)设定session的非活动时间
int getMaxInactiveInterval()获取session的有效非活动时间(以秒为单位)
void invalidate()设置session对象失效
void setAttribute(String key,Object value)以key/value的形式保存对象值
Object getAttribute(String key)通过key获取对象值
void removeAttribute(String key)从session中删除指定名称key所对应的对象

HttpServletResponse接口

方法名称功能描述
void addCookie(Cookie cookie)增加一个cookie到响应中,这个方法可以多次调用,设置多个cookie
void addHeader(String name,String value)将一个名称为name,值为value的响应头包头添加到响应中
Void sendRedirect(String location)发送一个临时的重定向响应到客户端,一边客户端访问新的url
void encodeURL(String url)使用session ID 对于重定向的URL进行编码

servlet生命周期

  • 实例化——sevlet容器创建servlet的实例
  • 初始化——该容器调用init(ServletConfig)方法
  • 服务——如果请求Servlet,则容器调用service()方法
  • 销毁——销毁实例之前调用destroy()方法

注意:jsp本质上就是一个servlet,jsp适合表示层开发, servlet适合封装控制逻辑。

http://www.dtcms.com/a/363517.html

相关文章:

  • Redisson分布式锁会发生死锁问题吗?怎么发生的?
  • Aurobay EDI 需求分析:OFTP2 与 EDIFACT 驱动的汽车供应链数字化
  • UniApp 实现搜索页逻辑详解
  • uniapp H5预览图片组件
  • 年轻教师开学焦虑破解:从心出发,重构健康工作生活新秩序
  • uni-app 布局之 Flex
  • 第一讲、Kafka 初识与环境搭建
  • ImageMagick命令行图片工具:批量实现格式转换与压缩,支持水印添加及GIF动态图合成
  • windows系统离线安装Ollama、创建模型(不使用docker)、coze调用
  • 51c大模型~合集177
  • Swift 解法详解:LeetCode 369《给单链表加一》
  • 研发团队缺乏统一文档模板怎么办
  • 苹果开发中什么是Storyboard?object-c 和swiftui 以及Storyboard到底有什么关系以及逻辑?优雅草卓伊凡
  • 【后端】Docker 常用命令详解
  • 构建企业级区块链网络:基于AWS EC2的弹性、高可用解决方案
  • 2025软件测试面试热点问题,3天刷完你的软件测试就牛了
  • 不同编译器之间代码转换
  • Java学习笔记-零基础学MySQL(二)
  • QT C++传递 map 给qml 中访问的两种方式
  • 深度学习容器化部署
  • Nginx 调度算法全解析:从基础到高级的负载均衡策略
  • HOW - 在浏览器下载一个 Excel 表格文件
  • Qt Demo(3) 之 deepseek 帮我写的关于图像显示的小界面
  • 漫画短剧小程序系统开发:从0到1的核心架构与思路
  • Redis 缓存雪崩实战:从监控告警到3层防护的完整修复
  • 【读论文】美团开源MOE大模型LongCat-Flash
  • Pod自动重启问题排查:JDK 17 EA版本G1GC Bug导致的应用崩溃
  • 线上排查bug的命令
  • 企业微信员工聊天记录能看吗?合规管理三要素一次性说清
  • 企业微信怎么用能高效获客?拆解体检品牌如何实现私域营收提升