Servlet

JavaWeb三大组件

​ Servlet,Filter,Listener

路径匹配优先级

​ 完全匹配路径>目录匹配>扩展名匹配

Servlet

  • init(ServletConfig):void第一次调用时,执行初始化方法
  • service(ServletRequest,ServletResponse):void 每一次调用都会执行
  • destory():void 服务器关闭或项目移除时调用
    在运行期间仅会创建一个实例即同时n个请求访问该servlet会共享这一个实例,为线程不安全

第一次访问Servlet创建Servlet的实例(单实例)

servlet默认在第一次访问的时候创建,现在让servlet在服务器启动的时候创建好,对servlet配置在web.xml中标签中配置:2----传入正整数,整数越小,优先级越高

ServletContext,服务器启动的时候,为每个WEB应用创建一个单独的ServletContext对象

  • 多个servlet之间共享数据
    getAttribute(),setAttribute(),removeAttribute()
  • 获取web项目中指定资源(文件)
    getResourceAsStream(String):InputStream
    ​getRealPath(String):String

扩展:

  • Class.getResourceAsStream(String path)
    path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从ClassPath(Src根目录)根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
  • Class.getClassLoader.getResourceAsStream(String path) :
    默认则是从ClassPath根下获取,path不能以'/'开头,最终是由ClassLoader获取资源。
  • ServletContext. getResourceAsStream(String path):
    默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。如果文件在SRC下,那么我们可以这么写path : /WEB-INF/classes/xxx.file
  • getRealPath(String path):
    返回资源文件在服务器系统上的真实路径(文件的绝对路径),path默认从webApp根目录下取资源,若不能转化为真实路径返回为null

进行整个web项目初始化数据设置

getInitParameter(String):String,getInitParameterNames():Enumeration
​ 在web.xml可以给整个web项目配置初始化参数


    参数名称
    参数数值

你可能感兴趣的:(Servlet)