zoukankan      html  css  js  c++  java
  • Servlet的几个关键知识点

    1、ServletConfig 

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

    其API有:

    String getServletName();//获取<servlet-name>中的内容
    ServletContext getServletContext();//获取Servlet上下文对象
    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> 非负整数,越小执行优先级越高

    <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的访问路径。以"/"开头 

      

      

      

  • 相关阅读:
    LeetCode Path Sum II
    LeetCode Longest Palindromic Substring
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Binary Tree Maximum Path Sum
    LeetCode Find Peak Element
    LeetCode Maximum Product Subarray
    LeetCode Intersection of Two Linked Lists
    一天一个设计模式(1)——工厂模式
    PHP迭代器 Iterator
  • 原文地址:https://www.cnblogs.com/ckui/p/5994677.html
Copyright © 2011-2022 走看看