1,Apache 和 Tomcat 的联系和区别
区别:apache是普通服务器,只支持静态网页,tomcat可处理jsp动态网页
apache稳定性很好,可以运行一年不重启,而tomcat则不一定。
联系:tomcat是运行在apache的web服务器,它只是一个servlet的容器,可以认为是apache的扩展,但可以独立于apache运行
2,servlet生命周期:
1.实例化 Servlet 容器创建 Servlet 的实例
2.初始化 该容器器调⽤用 init ( ServletConfig ) 方法
3.服务 如果请求 Servlet,则容器器调⽤用 service() 方法
4.销毁 销毁实例之前调用 destroy() 方法
针对于HttpServlet抽象类而言:其一般过程为:http请求,解析请求,创建Servlet实例,调用init()方法 ,调用service()方法 ,输出响应信息 ,响应数据到前端,调用destroy()方法 。
3.web.xml配置文件
<!--servlet配置:servlet-name为对象名,servlet-class必须为类的全限定名称(利用反射机制实例化一个名为first的servlet对象)
-->
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>com.xian.serverlet.FirstServerlet</servlet-class>
<!--启动服务时加载对象,数字代表加载顺序(加载xml中创建) -->
<!-- <load-on-startup></load-on-startup> -->
<!-- 初始化,该方法在构造方法后只执行一次,-->
<init-param>
<param-name>name</param-name>
<param-value>张三</param-value>
</init-param>
<init-param>
<param-name>psw</param-name>
<param-value>123</param-value>
</init-param>
</servlet>sERVELT
<!--url和servlet对象的映射关系,一个servlet 对象可以映射多个url-->
<servlet-mapping>serv
<!--servlet对象-->
<servlet-name>first</servlet-name>
<!-- url (外部浏览器通过统一资源定位器请求可以执行该servlet对象doget()/dopost()方法)-->
<url-pattern>/first</url-pattern>
</servlet-mapping>
补充:在创建HttpServlet子类时,创建构造方法
servlet使用的是单例模式,(单例模式:保证对象的唯一性)
当请求该servlet对象时,才创建servlet 对象(若不请求则不会创建)
实例化servlet类时,执行其构造方法,然后初始化,初始化方法的参数SrtvletConfig获取web.xml 文件中的<init-param>初始化参数和配置信息。