servlet之线程、服务器启动就创建的配置
简介:
Servlet是非线程安全的,所以其效率高,速度快,但是在多线程的情况下容易出错;
那么为了避免这种情况,有几点注意事项:
1、不要在Servlet中创建成员,仅创建局部变量即可
2、可以创建无状态成员(例如:一个类中只有一个print方法,那么在Servlet中创建其实例化对象不会因为多线程访问而引发错误);
3、可以创建有状态的成员,但是该成员为只读(例如:一个类中有name成员属性,但是name只有getName()方法,没有setName()方法,那么多个线程调用时相互也不会产生影响,但如果存在setName()方法,在多线程调用时就会彼此影响)
服务器启动就进行创建:
一般Servlet在浏览器第一次访问的时候创建,但是可以通过添加配置信息进行设置为服务器启动的时候就进行Servlet的创建:
在
可以重写无参的init()方法进行实验:
多个路径:
在配置文件的url项的
其中的F1Servlet和F2Servlet在浏览器的访问时都是访问的FServlet,
通配符 * :
还可以在
请注意,通配符要么为前缀,要么为后缀,不能出现在URL中间位置,也不能只有通配符。例如: /*.do就是错误的,因为星号出现在URL的中间位置上了。*.*也是不对的,因为一个URL中最多只能出现一个通配符