随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。
posts - 398,comments - 0,views - 13万

简介:

Servlet是非线程安全的,所以其效率高,速度快,但是在多线程的情况下容易出错;

那么为了避免这种情况,有几点注意事项:

  1、不要在Servlet中创建成员,仅创建局部变量即可

  2、可以创建无状态成员(例如:一个类中只有一个print方法,那么在Servlet中创建其实例化对象不会因为多线程访问而引发错误);

  3、可以创建有状态的成员,但是该成员为只读(例如:一个类中有name成员属性,但是name只有getName()方法,没有setName()方法,那么多个线程调用时相互也不会产生影响,但如果存在setName()方法,在多线程调用时就会彼此影响)

 

服务器启动就进行创建:

一般Servlet在浏览器第一次访问的时候创建,但是可以通过添加配置信息进行设置为服务器启动的时候就进行Servlet的创建:

在<seervlet>标签中的<load-on-startup>标签中添加非负整数数值的大小决定启动的顺序

可以重写无参的init()方法进行实验:

 

 

 

 

多个路径:

在配置文件的url项的<url-pattern>标签,可以为Servlet配置多个url:

其中的F1Servlet和F2Servlet在浏览器的访问时都是访问的FServlet, 

 

通配符 * :

 

还可以在<url-pattern>中使用通配符,所谓通配符就是星号“*”,星号可以匹配任何URL前缀或后缀,使用通配符可以命名一个Servlet,绑定一组URL,例如:还可以在<url模式>中使用通配符,所谓通配符就是星号“*”,星号可以匹配任何url前缀或后缀,使用通配符可以命名一个Servlet,绑定一组URL,例如:
<url-pattern>/serylet/*<url-patter> : /servlet/a、/serylet/b,都匹配/servlet/* 

<url-pattern>*.do</url-pattern>: /abc/def/ghi.do、/a.do,都匹配*.do; 

<url-pattern>/*<url-pattern>:匹配所有URL

 

 

请注意,通配符要么为前缀,要么为后缀,不能出现在URL中间位置,也不能只有通配符。例如: /*.do就是错误的,因为星号出现在URL的中间位置上了。*.*也是不对的,因为一个URL中最多只能出现一个通配符

 

posted on   时间完全不够用啊  阅读(144)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示