Servlet细节
Servlet与线程安全
因为一个类型的Servlet只有一个实例对象,会出现一个Servlet同时处理多个请求,并且Servlet线程不安全,创建变量时需要注意:
不要在Servlet中创建成员变量,创建局部变量即可
可以创建无状态变量
可以创建有状态变量,但状态必须为只读
让服务器启动时就创建Servlet
在web.xml文件中<servlet>标签下创建<load-on-start>标签,标签内为非负整数,数值越小,优先级越高
<url-pattern>
是servlet-mapping的子元素,用来指定Servlet的访问路径,即URL。它必须是以“/”开头的
该标签可以有多个
还可以在该标签内使用通配符:“*”,使用通配符可以使servlet绑定一组URL。通配符要么为前缀(扩展名匹配),要么为后缀(路径匹配),不能出现在URL的中间位置,也不能只有通配符
ServletRequest
请求
ServletResponse
响应
GenericServlet
实现Servlet接口,只需要重写service()方法
HttpServlet
该类为抽象类,但没有抽象方法
根据请求方式调用doGet()或doPost()方法
doGet()和doPost()由我们自己来覆盖,如果没有覆盖并且被调用了,会出现405错误