Servlet的线程安全问题
Servlet的实例在服务器运行期间只有一个实例存在.所以线程不安全.线程不安全: 如果使用成员变量来接受线程参数.如果发生并发,那么会出现线程问题(覆盖)
解决办法: 将装载线程参数的变量放置到方法中,变成局部变量.
servlet的创建实例时机
默认情况: 第一次访问该servlet时候.让servlet实例随着服务器的启动而创建:
添加一个配置即可:<load-on-startup></load-on-startup>
在该配置中填入一个整数即可实现.
数字的数值,在有多个servlet需要随着服务器启动而启动时,决定启动顺序.
数字越小优先级越高. 最小就是0. 一般0~5. 3.
如果数字一样,谁先配置谁先创建.//----------------------------------------------------------------
servlet的路径配置
<url-pattern></url-pattern>该配置,配置方式有两种
路径匹配: 一定以"/"开头
/AServlet/ABC/AServlet
/ABC/BCD/AServlet
/ABC/*
/*
/
后缀名匹配: 以*开头
*.do*.action
*.html
注意:
匹配范围越大,优先级越低.
后缀名匹配和路径匹配不能同一配置中混合使用. 例如: /*.do
一个servlet可以配置多个路径. 直接在<servlet-mapping>元素中添加多个<url-pattern>配置即可.
优先级: /AServlet > /abc/* > *.do > /*