lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

 

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

 

posted on   白露~  阅读(222)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示