Servlet基础

发布于:2025-09-04 ⋅ 阅读:(15) ⋅ 点赞:(0)

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的日志文件
/temp Tomcat运行时用于存放临时文件
/webapps 当发布web应用时,默认情况下会将web应用的文件存放于此目录
/work Tomcat把由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适合封装控制逻辑。