Servlet
Servlet 环境设置
servlet是扩展web服务器功能的组件规范。浏览器发送请求给web服务器,如果是动态资源的请求,web服务器会将请求转发给servlet容器来处理(由容器处理网络相关问题,servlet处理业务逻辑)。
Tomcat
是调用sevlet的软件,一种sevlet容器。
Servlet容器也称为JavaWeb应用容器。目前常用的Servlet容器:Tomcat、Resin、Weblogic等。
Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,并调用它们的命周期方法,以及管理它们的共享数据。通过“请求/响应”的模式和客户通信。
Servlet可完成的功能:
创建并返回基于客户请求的动态HTML页面。
创建可嵌入到现有HTML页面中的部分HTML页面。
与其他服务器资源进行通信。
PS:
组件:需要部署到相应容器里运行的模块;
容器是:提供组件运行环境的程序。
Java Servlet 编程基础知识
Servlet的生命周期
生命周期方法都由容器调用。
1) 实例化
:当接收到请求的时候,容器察看对应的Servlet对象是否存在,如果不存在,需要通过服务器反射机制加载Servlet创建Servlet对象(默认第一次请求时才会创建,单实例的,线程安全问题要考虑,不推荐用全局变量)。
默认:容器收到请求后创建;
还可以配置成:容器启动后,立即创建。
配置文件的servlet节点的子节点load-on-startup:
可以指定该Servlet的创建时机。
负数:会在第一次请求(url)时创建(默认情况);
0或正数:会在tomcat启动,当前web应用被加载时创建。数值越小,越早地被创建。
2) 初始化
:实例化后接着调用init方法进行初始化。调用Servlet对象的init(ServletConfig arg0)方法,初始化Servlet的信息,init()方法只会在创建后被调用一次;
3) 就绪
:响应请求,调用service(ServletRequest arg0, ServletResponse arg1)方法(依据请求类型,分别调用对应的doXXX方法)来处理请求,这些方法是运行的在多线程状态下的。
4)在长时间没有被调用或者是服务器关闭时,删除当前servlet实例前,会调用destroy()方法来销毁Servlet对象,释放占用的资源。
在Servlet的一个生命周期里init()、destroy()只被调用一次!
Java Servlet 编程
Eclipse_新建web项目没有自动生成web.xml
别人的教程
servlet类: