前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >servlet 核心技术

servlet 核心技术

作者头像
希希里之海
发布2018-08-10 16:09:43
3710
发布2018-08-10 16:09:43
举报
文章被收录于专栏:weixuqin 的专栏weixuqin 的专栏

servlet 核心技术

servlet 生命周期

在 servlet 生命周期中,servlet 容器完成加载 servlet 类和实例化一个 servlet 实例,并通过3个方法来完成生命周期中的其他阶段。

  • init() 方法:负责 servlet 的初始化工作,该方法由 servlet 容器调用完成。
  • service() 方法:处理客户端请求,并返回响应结构。
  • destroy() 方法:在 servlet 容器卸载 servlet 之前被调用,释放系统资源。

使用方法Servlet

创建 servlet 类的 java 文件,然后在 WEB-INF 中的 web.xml 中修改配置,配置过程是由<servlet><servlet-mapping> 元素实现的。

举个例子:

代码语言:javascript
复制
  <!-- 配置Servlet -->
    <servlet>
        <servlet-name>ServletSample</servlet-name>
        <servlet-class>sunyang.ServletSample</servlet-class>
    </servlet>
    <!-- 配置Servlet映射路径 -->
    <servlet-mapping>
        <servlet-name>ServletSample</servlet-name>
        <url-pattern>/servlet</url-pattern>
    </servlet-mapping>

或者是使用注解的形式(使用的是 urlPatterns 属性)

如:

代码语言:javascript
复制
@WebServlet(name="Servletsample", urlPatterns="/HelloWorld")
  • 开发一个普通的 Servlet 只需拓展 javax.serlvet.GenericServlet即可,GenericServlet 类定义了一个普通的,协议无关的 servlet。 在拓展 GenericServlet 时必须要重载 service() 方法。
  • 要创建一个用于 web 的 HTTP Servlet,则需要拓展 javax.servlet.http.HttpServet。HttpServlet 用于处理 HTTP 请求。 需要重载 HttpServlet 的 doGet() 方法和 doPost() 方法。

获取运行环境信息

Servlet 信息包括 Servlet 的初始化信息,Servlet 的初始化参数名和 Servlet 名称,这些信息通常配置在web.xml 中,可通过 javax.servlet.ServletConfig 接口中定义的方法来获取。

Servlet 中的会话设置

Servlet api 内置了会话跟踪支持,那就是 HttpSession 对象。

Servlet 中异常处理

可以使用两种处理异常的方式:

  • 在 try/catch 语句块中直接生成并输出异常信息的页面,或者将异常转发到异常处理的 Servlet 或 JSP 页面中。
  • 在 web.xml 中通过<error-page>元素指定异常处理

Servlet 过滤器

在 web.xml 中定义,<filter>元素用于配置 Servlet 过滤器。

Servlet 监听器

Servlet 监听器类型:

  • ServletContext 事件监听器:用于监听应用程序环境对象。
  • HttpSession 事件监听器:用于监听用户会话对象。
  • ServletRequest 事件监听器:用于监听请求消息对象。

在 web.xml 中定义, `<listener>元素用于配置Servlet 过滤器。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • servlet 核心技术
    • servlet 生命周期
      • 使用方法Servlet
        • 获取运行环境信息
          • Servlet 中的会话设置
            • Servlet 中异常处理
              • Servlet 过滤器
                • Servlet 监听器
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档