zoukankan      html  css  js  c++  java
  • Servlet 执行流程 生命周期 ServletConfig 线程安全

    Day34 servlet

     Tomcat 目录结构

    bin:脚本目录

    启动脚本:startup.bat

    停止脚本:shutdown.bat

    conf:配置文件目录 (config /configuration)

    核心配置文件:server.xml   配置get请求编码  URIEconding

    用户权限配置文件:tomcat-users.xml

    所有web项目默认配置文件:web.xml

    lib:依赖库,tomcatweb项目中需要使用的jar

    logs日志文件.

    localhost_access_log.*.txt tomcat记录用户访问信息,星*表示时间。

    例如:localhost_access_log.2016-02-28.txt

    temp:临时文件目录,文件夹内内容可以任意删除。

    webapps默认情况下发布WEB项目所存放的目录。

    worktomcat处理JSP的工作目录

    三、如何使用Servlet

    1、继承GenericServlet类(通用)

    1)GenericServlet类有一个关键的设计,定义了一个私有的ServletConfig成员变量,在init()方法中,由Servlet容器传入ServletConfig对象与之匹配。

    2)GenericServlet类中唯一一个抽象方法是Service方法子类必须实现Service方法,以为用户提供特定的服务

    2、继承HttpServlet类,是GenericServlet的子类重写了Service方法,提供了HTTP的相关服务实现。用户需要做的事,根据实际情况,重写doPost()、doGet()等方法。

     

    ServletJavaWeb三大组件之一(ServletFilterListener),且最重要

    1.1.1 Servlet入门(重点)

    方式1:实现Sevrlet接口(了解)

    方式2:

    编写servlet步骤: 

    Servlet规范要求:Servlet程序需要编写实现类,并在web.xml进行配置

    继承javax.servlet.http.HttpServlet

    复写doGet()doPos()t方法

    配置web.xml文件

    1.1.1.1 Servlet的执行的流程详解

     

    1.1.1.2 Request获得请求参数(掌握)

    1.1.2 Request接收请求参数

    1.1.2.1 Request接收请求参数的概述

    请求参数

     

    方法名

    描述

    String getParameter(String name)

    获得指定参数名对应的值。如果没有返回null,如果只有多个获得第一个。

    例如:username=jack

    1.1 Servlet生命周期(重点)

    概念:Servlet生命周期就是Servlet对象从创建到销毁的过程

    何时创建:用户第一次访问servlet是创建

    何时销毁:项目从服务器中移除或者服务器停止

    l Servlet规定,所有的servlet必须实现javax.servle.Servlet接口

     

    l void init(ServletConfig config):初始化方法

     * 初始化方法

     * 执行时机:默认第一次访问的时候

     * 执行次数:一生只一次(单例)

     * 执行者:服务器(tomcat)

    void service(ServletRequest request,ServletResponse response):服务方法

     * 服务方法

     * 执行时机:每次访问的时候

     * 执行次数:访问一次执行一次

     * 执行者:服务器

    l void destroy():销毁方法

     * 销毁方法

     * 执行时机:项目被移除的时候或者服务器正常关闭的时候

     * 执行次数: 一生只一次

     * 执行者:服务器

    1.2 ServletConfig介绍(了解)

    概念

    n servlet的配置对象,一个servlet对应一个servlet配置对象

    作用

    n 获得servlet名称  <servlet-name>ConfigServlet</servlet-name>

    获得servlet的初始化参数

    获得上下文对象(全局管理者ServletContext)

    创建(ServletConfig的生命周期):

    服务器创建servlet的同时,也创建了当前servlet的配置对象,通过servletinit方法传递给当前servlet

    获取servletconfig.

    servlet中通过了 getServletConfig()

    常见的api(了解)

    方法名

    返回值类型

    描述

    getInitParameter(name)

    String

    获得Servlet的初始化参数的

    getInitParameterNames()

    Enumeration

    获得所有Servlet的初始化参数的名称

    getServletContext()

    ServletContext

    获得ServletContext对象的引用

    getServletName()

    String

    获得Servletweb.xml中配置的name的值。

    <servlet-name>标签配置内容。

    、如何保证Servlet线程安全

    1、保证变量作用域合理,线程私有的变量要定义在方法中。

    2、共享变量要用保证线程安全,可以使用加锁、atomic类、volatile关键字实现。

  • 相关阅读:
    Netty实战
    ObjectTools反射实例
    SpringBoot新增监听器Listener
    拦截器(Inteceptor),过滤器(Filter),切面(Aspect)处理HttpServiceReqeust请求
    Linux CentOS7.2下安装Redis && 配置Redis开机自启动
    JVM命令行工具&垃圾收集器&垃圾收集策略思维导图
    Redis总结
    Java自定义注解的实现
    反射实例
    系统管理员常用的Linux命令
  • 原文地址:https://www.cnblogs.com/shan1393/p/8945303.html
Copyright © 2011-2022 走看看