Servlet注意事项
A:Servlet类是一个单例模式,也就是说的单例类
所谓的单例模式就是说一个类只能创建一个实例(对象、实体)
实现条件:
A:构造函数必须私有化
B:必须向外公开一个静态方法来获取这个类的实例
创建方式:
A:懒汉式
B:饥汉式
B:Servlet生命周期
过程:
出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)
活着:(服务)应用活着,Servlet就活着
死亡:(销毁)应用卸载了Servlet就销毁
简述:
Servlet在第一次请求时,根据URL找到逻辑名称,再通过逻辑名称找到物理类,最后由Tomcat中的Servlet容器来创建对象,然后就一直驻留在服务的Servlet容器中,下一次请求就直接从容器中取,不会再一次生成Servlet新的对象。所以叫单例模式。要到应用程序关闭后,Servlet对象才从服务器的Servlet容器中释放。这就是所谓的Servelt生命周期。
C:Servlet创建方式继承javax.servlet.httpServlet类(模板方法设计模式)
D:Servlet配置信息:
<servlet>
<!-- 声明Servlet对象 -->
<servlet-name>Account</servlet-name>
<!-- 上面一句指定Servlet对象的名称 -->
<servlet-class>com.ser.Account</servlet-class>
<!-- 上面一句指定Servlet对象的完整位置,包含包名和类名 -->
</servlet>
<servlet-mapping>
<!-- 映射Servlet -->
<servlet-name>Account</servlet-name>
<!--<servlet-name>与上面<Servlet>标签的<servlet-name>元素相对应,不可以随便起名 -->
<url-pattern>/Account</url-pattern>
<!-- 上面一句话用于映射访问URL -->
</servlet-mapping>
E:Servlet方法执行过程
A:构造方法被执行
B:Init方法(初始化)被执行
C:doGet或者doPost方法被执行
D:在应用程序结束后,destroy(销毁)方法才会被执行
F:线程安全问题
解决:
不要写全局变量,而写局部变量
A:Servlet类是一个单例模式,也就是说的单例类
所谓的单例模式就是说一个类只能创建一个实例(对象、实体)
实现条件:
A:构造函数必须私有化
B:必须向外公开一个静态方法来获取这个类的实例
创建方式:
A:懒汉式
B:饥汉式
B:Servlet生命周期
过程:
出生:(实例化-->初始化)第一次访问Servlet就出生(默认情况下)
活着:(服务)应用活着,Servlet就活着
死亡:(销毁)应用卸载了Servlet就销毁
简述:
Servlet在第一次请求时,根据URL找到逻辑名称,再通过逻辑名称找到物理类,最后由Tomcat中的Servlet容器来创建对象,然后就一直驻留在服务的Servlet容器中,下一次请求就直接从容器中取,不会再一次生成Servlet新的对象。所以叫单例模式。要到应用程序关闭后,Servlet对象才从服务器的Servlet容器中释放。这就是所谓的Servelt生命周期。
C:Servlet创建方式继承javax.servlet.httpServlet类(模板方法设计模式)
D:Servlet配置信息:
<servlet>
<!-- 声明Servlet对象 -->
<servlet-name>Account</servlet-name>
<!-- 上面一句指定Servlet对象的名称 -->
<servlet-class>com.ser.Account</servlet-class>
<!-- 上面一句指定Servlet对象的完整位置,包含包名和类名 -->
</servlet>
<servlet-mapping>
<!-- 映射Servlet -->
<servlet-name>Account</servlet-name>
<!--<servlet-name>与上面<Servlet>标签的<servlet-name>元素相对应,不可以随便起名 -->
<url-pattern>/Account</url-pattern>
<!-- 上面一句话用于映射访问URL -->
</servlet-mapping>
E:Servlet方法执行过程
A:构造方法被执行
B:Init方法(初始化)被执行
C:doGet或者doPost方法被执行
D:在应用程序结束后,destroy(销毁)方法才会被执行
F:线程安全问题
解决:
不要写全局变量,而写局部变量