Servlet总结

一、Servlet介绍
  Servlet是sun公司提供的一门用于开发动态web资源的技术。
  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
  1、编写一个Java类,实现servlet接口。(实际开发中,继承HttpServlet,因为HttpServlet已经实现了GenericServlet,GennericServlet实现了Servlet接口)
  2、把开发好的Java类部署到web服务器中。
  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet
  
二、Serlet开发中涉及的父类、接口和方法
继承关系:
 Servlet–>GenericServlet–>HttpServlet
 (HttpServlet继承GenericServlet,GenericServlet继承Servlet)
实际开发中涉及到的方法:
 实际开发中,Servlet继承HttpServlet来处理基于Http协议的请求。每个Servlet可以相应不同的客户端请求。
1、doGet():响应get
2、doPost():响应post
3、doPut():响应put
4、doDelete():响应delete

除了以上四个方法外这些方法外(这些方法),还需要注意的有init()方法、destroy()方法和service()方法,init()是第一次加载Servlet实例的时候执行的,destroy()方法是当销毁Servlet的时候执行的(什么时候会销毁?当Web容器被停止或重启的时候),Service()方法是客户端浏览器访问Servlet的时候执行的,Service()方法内部根据请求不同调用了doXXX()方法,编写继承HttpServlet的Servlet类时,不必理会Service()方法,只需要编写doXXX()方法即可。

三、web.xml配置Servlet注意的东西
 如何配置Servlet?在使用Eclipse开发是,右键New出的项目如果不是选Class而是选Servlet,Eclipse自动帮我们在web.xml配置好Servlet,如下:

   <servlet>
    <servlet-name>AServlet</servlet-name>
    <servlet-class>AServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AServlet</servlet-name>
    <url-pattern>/servlet/AServlet</url-pattern>
  </servlet-mapping>

注意两点:
(1)一个Servlet可以有多个映射地址
(2)注意通配符

四、Servlet生命周期及运行过程
当一个Servlet第一次被客户端浏览器访问时,它会被加载到Web容器,一直驻留在内存中,直到这个Web容器被停止,此时,Servlet也就结束了生命。它的init()方法和destroy()方法都是只执行一次

Servlet由Web容器调用:
浏览器向Web服务器发出一个请求,比如http://localhost:8080/aaa/AServlet
(1)TCP/IP连接到Web服务器
(2)发送http请求
(3)web服务器接收到请求,解析请求参数中的Web应用、解析请求参数中的Web资源
(4)若发现请求的Servlet是第一次访问,则加载Servlet类
(5)Web服务器调用Servlet的init()方法
(6)Web服务器封装请求为HttpServletRequest,封装响应为HttpServletResponse,调用Servlet的Service()方法的时候传递HttpServletRequest和HttpServletResponse过去
(7)Servlet接收到了HttpServletRequest和HttpServletResponse后,在Service方法对HttpServletRequest进行分析处理,对HttpServletResponse进行包装响应结果
(8)Servlet将相应结果响应给Web服务器
(9)Web服务器将相应结果响应给客户端浏览器

七、Servlet线程问题
待续…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Servlet 是 Java 技术中的一个组件,用于在 Web 应用程序中处理 HTTP 请求和响应。 Servlet 是一个 Java 类,它可以接收来自客户端的 HTTP 请求,并生成 HTTP 响应。Servlet 运行在 Web 服务器上,并通过一种称为 Servlet 容器的软件来管理它们的生命周期。 在 Java Servlet API 中,有两个核心类:javax.servlet.Servlet 和 javax.servlet.http.HttpServletServlet 类是所有 Servlet 的父类,而 HttpServlet 是处理 HTTP 请求和响应的 Servlet 的基类。 Servlet 具有以下优点: 1. 可以处理多种类型的请求和响应,包括文本、HTML、XML 等。 2. 可以处理多个并发请求。 3. 可以动态生成响应。 4. 可以在运行期间动态加载和卸载。 在 Java 中,开发 Servlet 需要使用 Servlet API 和一个 Servlet 容器,如 Tomcat 或 Jetty。Servlet API 中提供了一些接口和类,用于实现 Servlet。开发 Servlet 需要实现 Servlet 接口或继承 HttpServlet 类,并覆盖一些方法来处理请求和生成响应。然后将 Servlet 部署到 Servlet 容器中,容器会负责管理 Servlet 的生命周期,并将请求路由到正确的 Servlet 中。 ### 回答2: Servlet是一种运行在服务器上的Java程序,主要用于处理客户端的HTTP请求和响应。它是Java EE平台的一部分,广泛用于开发Web应用程序。 Servlet通过定义自己的类,实现javax.servlet.Servlet接口来创建。它可以被容器(如Tomcat和Jetty)动态加载和执行。当客户端发送HTTP请求时,容器将会实例化一个Servlet对象,并调用其相应的方法来处理请求。 Servlet能够处理多种HTTP请求方法,例如GET和POST。它可以接收来自客户端的请求参数,并根据业务逻辑生成响应。Servlet通常用于处理表单提交、用户认证、数据查询及处理等功能。 Servlet具有以下特点: 1. 可复用性:开发人员可以编写可复用的Servlet组件,以实现不同的业务功能。 2. 轻量级:Servlet是基于Java语言开发的,运行速度快,资源消耗低。 3. 并发处理:Servlet容器能够同时处理多个客户端请求,并通过多线程机制来实现并发处理。 4. 可扩展性:Servlet可以通过扩展其他Java类和接口来增强功能,例如使用过滤器(Filter)来对请求和响应进行处理。 Servlet的生命周期包括三个阶段:初始化、请求处理和销毁。 1. 初始化阶段:Servlet容器实例化Servlet对象,并调用其init()方法来进行初始化操作。开发人员可以在该方法中进行一些配置和初始化工作。 2. 请求处理阶段:当有客户端请求到达时,Servlet容器将会创建一个线程来处理该请求。容器会调用Servlet的service()方法,并传递请求和响应对象给它。在service()方法中,开发人员可以编写具体的业务逻辑来处理请求,并生成相应的响应。 3. 销毁阶段:当服务器关闭或应用程序被卸载时,Servlet容器会调用Servlet的destroy()方法来进行资源释放和清理操作。 总结来说,Servlet是一种用于处理Web请求和响应的Java程序,它具有可复用性、轻量级、并发处理和可扩展性等特点。开发人员通过实现Servlet接口,编写具体的业务逻辑来处理请求,并且可以通过生命周期方法进行初始化和销毁操作。 ### 回答3: Servlet是一种用Java编写的服务器端程序,用于处理HTTP请求和响应。它是Java EE(Enterprise Edition)的规范之一,提供了一种开发动态网页的方式。 Servlet可以通过HTTP协议接收来自客户端的请求,并且可以根据请求的内容生成相应的HTML、XML或其他格式的响应数据。它可以被部署到Web服务器中,然后根据请求的URL地址,调用相应的Servlet进行处理。 Servlet运行在Web服务器的Servlet容器中,如Apache Tomcat。当客户端发起一个HTTP请求时,Servlet容器会将请求交给对应的Servlet进行处理。Servlet可以根据请求的内容动态生成响应页面,并将响应发送回客户端。 使用Java编写Servlet可以享受到Java语言的众多优势,如面向对象、平台无关性和强大的开发工具支持。通过编写Java Servlet程序,可以处理用户输入、访问数据库、调用其他Java类库等,功能非常灵活且强大。 Servlet的生命周期包括初始化、处理请求和销毁三个阶段。在初始化阶段,Servlet容器会调用Servlet的init()方法来进行一些初始化操作。在处理请求阶段,Servlet容器会调用Servlet的service()方法来处理具体的请求。在销毁阶段,Servlet容器会调用Servlet的destroy()方法来释放资源。 总之,Servlet是一种用Java编写的服务器端程序,用于处理客户端发起的HTTP请求并生成相应的响应。它是Java EE的一部分,提供了一种灵活和强大的方式来开发动态网页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值