Java中的Servlet详解

简介: Java中的Servlet详解

Servlet: server applet


  • 概念:运行在服务器端的小程序狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
  • Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
  • 将来我们自定义一个类,实现Servlet接口,复写方法。
    Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
  • 1.客户端发送请求至服务器端;
  • 2.服务器将请求信息发送至 Servlet;
  • 3.Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
  • 4.服务器将响应返回给客户端。


Servlet 架构


Servlet中的生命周期方法:


  1. 被创建:执行init方法,只执行一次
    * Servlet什么时候被创建?
    * 默认情况下,第一次被访问时,Servlet被创建
    * 可以配置执行Servlet的创建时机。
    * 在标签下配置
    1. 第一次被访问时,创建
    * 的值为负数
    2. 在服务器启动时,创建
    * 的值为0或正整数
    * Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的
    * 多个用户同时访问时,可能存在线程安全问题。
    * 解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值
  2. 提供服务:执行service方法,执行多次
    * 每次访问Servlet时,Service方法都会被调用一次。
  3. 被销毁:执行destroy方法,只执行一次
    * Servlet被销毁时执行。服务器关闭时,Servlet被销毁
    * 只有服务器正常关闭时,才会执行destroy方法。
    * destroy方法在Servlet被销毁之前执行,一般用于释放资源


Servlet的体系结构


Servlet – 接口

|

GenericServlet – 抽象类

|

HttpServlet – 抽象类


* GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象
  * 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可
* HttpServlet:对http协议的一种封装,简化操作
  1. 定义类继承HttpServlet
  2. 复写doGet/doPost方法
  doget方法在访问时会在url后加上地址
  dopost则不会

Servlet相关配置


1. urlpartten:Servlet访问路径
  1. 一个Servlet可以定义多个访问路径 : @WebServlet({"/d4","/dd4","/ddd4"})
  2. 路径定义规则:
    1. /xxx:路径匹配
    2. /xxx/xxx:多层路径,目录结构
    3. *.do:扩展名匹配

新创建一个公众号 Rockey小何同学 想相互交流的同学可以关注一下哈! 感谢支持!

相关文章
|
3月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
33 3
|
3月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
32 1
|
3月前
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
60 3
|
3月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
45 0
|
3月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
28 0
|
4月前
|
安全 Java API
Java中的Servlet编程详解
Java中的Servlet编程详解
|
4月前
|
Java 数据库连接 开发者
Java中的Servlet生命周期详解
Java中的Servlet生命周期详解
|
4月前
|
安全 Java API
Java中的Servlet编程详解
Java中的Servlet编程详解
|
5月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
107 10
|
5月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
65 7