1、ServletConfig 

  ServletConfig是Servlet的配置文件。对应于web.xml中的<servlet></servlet>标签。ServletConfig是由java提供的一个接口,其实现类是由tomcat提供。

其API有:

1
2
3
4
String getServletName();//获取<servlet-name>中的内容
<strong>ServletContext getServletContext();//获取Servlet上下文对象</strong>
String getInitParameter(String name)//通过名称获取指定初始化参数的值
Enumeration getInitParameterNames()//获取所有初始化参数的名称

2、ServletContext 

  一个项目只有一个ServletContext,相当于<web-app></web-app>标签。可以在不同的Servlet中获得这个唯一的对象,可以给多个Servlet传递数据。tomcat启动时创建,在tomcat关闭时才销毁。

  获取公共初始化参数,为所有的Servlet准备。而<servlet></servlet>中的<init-param></init-param>是为当前Servlet准备的  

<context-param>
<param-name>name</param-name>
<param-value>value</param-value>
</context-param>

  获取资源路径:  

//把相对路径变成真实路径
String path = this.getServletContext().getRealPath("相对路径");
//获取资源路径后,在创建输出流
InputStream in = this.getServletContext().getResourceAsStream("/index.jsp");
//获取当前路径下所有的资源路径
Set<String> paths = this.getContext().getResourcePaths("/WEB-INF");

3、Servlet

  3.1、Servlet与线程安全

    线程安全就是多线程访问同一段代码不会产生不同的结果,编写线程安全的代码是依靠线程同步。Servlet不是线程安全的,工作效率高。所以不要在Servlet中创建成员变量,创建局部变量即可。如果创建成员变量,那么它可以是无状态的(不保存数据)。可以创建有状态的成员(保存数据),那么他必须是只读的。防止一个线程执行读操作,一个线程执行写操作。

  3.2、服务器启动时就创建Servlet

    <load-on-startup>0</load-on-startup> 非负整数,越小执行优先级越高

1
2
3
4
5
6
7
8
9
10
<servlet>
    <servlet-name></servlet>
    <servlet-class></servlet-clss>
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet>
    <servlet-name></servlet>
    <servlet-class></servlet-clss>
    <load-on-startup>1</load-on-startup>
</servlet>

  3.3<url-pattern>

    <url-pattern>是<servlet-mapping>的子元素。用来指定Servlet的访问路径。以"/"开头

Servlet的几个关键知识点的更多相关文章

  1. spring-cloud-kubernetes背后的三个关键知识点

    在<你好spring-cloud-kubernetes>一文中,对spring-cloud-kubernetes这个SpringCloud官方kubernetes服务框架有了基本了解,今天 ...

  2. Java异常的10个关键知识点

    前言 总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油. 一. 异常是什么 异常是指阻止当前方法或作用域继续执行的问题.比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异 ...

  3. Java程序员必备:异常的十个关键知识点

    前言 总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油. 一. 异常是什么 异常是指阻止当前方法或作用域继续执行的问题.比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异 ...

  4. DDD关键知识点整理汇总

    创建领域对象采用构造函数或者工厂,如果用工厂时需要依赖于领域服务或仓储,则通过构造函数注入到工厂: 一个聚合是由一些列相联的Entity和Value Object组成,一个聚合有一个聚合根,聚合根是E ...

  5. python 关键知识点

    学习资源:笨方法学习 python3 将变量传递给脚本--argv 脚本:你编写的 .py 文件. argv 参数变量(argument variable)保存着你运行 python 脚本的参数. i ...

  6. IKEv2协议关键知识点总结整理

    文章目录 @[toc] 1. IKEv2基本原理 2. IKEv2协议重点注意事项 2.1 情景一:==IKEv2协商密钥逻辑== ①密钥协商流程 ②函数调用关系 ③流程简述 2.2 情景二:==使用 ...

  7. .net学习之Attribute特性和EF关键知识点

    一.Attribute特性/标签1.Attribute用来对类.属性.方法等标注额外的信息,贴一个标签简单的说,定制特性Attribute,本质上就是一个类,它为目标元素提供关联附加信息,并在运行时以 ...

  8. 关于js的一些关键知识点(call,apply,callee, caller,clourse,prototypeChain)

    可能不少学习javascript在使用call,apply,callee时会感到困惑,以下希望对于你有所帮助: 1.~~~call ,apply是函数(函数对象)的方法:callee是函数argume ...

  9. ARM汇编关键知识点总结(转)

    1.LDR R1, =COUNT 意思是将 COUNT 变量的地址放到 R1中LDR R1, COUNT 意思是将 COUNT 变量地址里面的内容赋给 R1 2. Load-Store 结构——这个应 ...

随机推荐

  1. VSTO:使用C#开发Excel、Word【16】

    使用工作表对象Worksheet对象表示Excel工作簿中的工作表.Worksheet有一个Name属性,返回工作表的名称(例如“Sheet1”). 工作表管理Worksheet对象具有一个Index ...

  2. mvn package

    mvn -B -DskipTests clean package -Dspecific -P test mvn -B -DskipTests clean package -Dspecific -P p ...

  3. Unity3d外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件

    1.根据路径获取制定文件类型的文件: 这里写一个类,调用了打开路径的方法:using UnityEngine;using System;using System.Collections.Generic ...

  4. css.aa

    出的不同(面是必考) 因为浏览器在解析第二个p的时候,因为字母之间没有空格,他会以为是是一个单词所以不会换行. 列表 1.无序列表ul 第一内部必须含有子标签<li></li> ...

  5. 最短路,dijstra算法

    #include<iostream> #include<stdio.h> #include<math.h> #include<vector> using ...

  6. Appium Hybrid混合应用测试——Native切换WebView

    Appium Hybrid混合应用测试过程中,经常需要在Native和WebView之间进行切换: 1.切换至WEBVIEW操作: for cons in driver.contexts: if co ...

  7. C#中字符串大小比较函数--CompareTo与Compare方法(需要完善补充)

    字符串比较的原理是什么? 原理: 从两个字符串的第一个字符开始逐个进行比较(按字符的ASCII值进行大小比较),直到出现不同的字符或遇到‘\0’为止. 如果全部字符都相同,就认为两字符串相等,返回0: ...

  8. s21day09 python笔记

    s21day09 python笔记 一.三元运算(三目运算) 用途:用于简单的if条件语句 基本结构 v = 前面 if 条件 else 后面 #如果条件为真,v = 前面,否则,v = 后面 &qu ...

  9. 使用try和catch捕获异常

    Java程序在执行过程中如果出现异常,会自动生成一个异常对象,该异常对象将被自动提交给JVM,当JVM接收到异常对象时,会寻找能处理这一异常的代码,并把当前异常对象交给其处理,这一过程称为捕获(cat ...

  10. 软件工程第4次作业------石墨文档Android客户端案例分析

    作业要求的博客链接:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2505 分析产品:石墨文档Android客户端 第一部分 调研和评测 1. ...