servlet 基础学习一
2015-03-27 16:11
183 查看
Servlet 是个特殊的 java 类,这个java类必须 继承 HttpServlet;每个Servlet可以响应客户端的请求。
》 doGet:用于响应客户端的GET请求;
》 doPost:用于响应客户端的POST请求;
Servlet为了响应这2种请求,必须重写doGet()和doPost两个方法。大部分的时候,Servlet对于所有的请求的响应都是完全一样的。因此,可以采用重写一个方法来替代上面的几个方法:只需要重写service()方法即可响应客户端的所有请求。
另外,HttpServlet 还包含
init(ServletConfig config):创建Servlet实例时,调用该方法初始化servlet资源。
destory():销毁servlet实例时,自动调用该方法回收资源。
通常无须重写 init() 和 destory() 两个方法,除非需要在初始化Servlet时,完成某些资源初始化的方法,才考虑重写init方法。如果需要在销毁servlet之前,先完成某些资源的回收,如关闭数据库连接等,才需要重写destory()方法。
注意:不用为servlet类编写构造器,如果需要对servlet进行初始化操作,应将初始化操作放在Servlet的init()方法中定义。如果重写了init(ServletConfig config)方法,则应在该方法的第一行调用 super.init(config); 该方法将调用HttpServlet的init方法。
Servlet 和 JSP 的 区别在于:
1、Servlet 中没有内置对象,原来JSP中的内置对象都必须有程序显式创建。
2、对于静态的html标签,Servlet都必须使用页面输出流逐行输出。
JSP/Servlet 的生命周期
jsp的本质就是servlet,开发者编写的jsp页面将由web容器编译成对应的Servlet,当Servlet在容器中运行时,其实例的创建及销毁等都不是由程序员决定的,而是由web容器进行控制的。
创建Servlet实例有2个时机:
1、客户端第一次请求某个Servlet时,系统创建该Servlet的实例:大部分的Servlet都是这种Servlet。
2、web应用启动时立即创建Servlet实例,即load-on-startup Servlet。(注意:应用启动之时就创建Servlet,通常是用于某些后台服务的Servlet,或者需要拦截很多请求的Servlet;这种Servlet通常作为应用的基础Servlet使用,提供重要的后台服务。)
load-on-startup Servlet 的配置:
1、在web.xml 文件中通过<servlet.../>元素的<load-on-startup.../>子元素进行配置(eg1);
2、通过@WebServlet Annotation 的 loadOnStartup 属性指定(eg2)。
eg1:
eg2:
Servlet生命周期:
1、创建Servlet实例;
2、web容器调用Servlet的init方法,对Servlet进行初始化;
3、Servlet 初始化后,将一直存在于容器中,用于响应客户端请求;如果客户端发送get请求,容器调用servlet的doGet方法处理并响应请求;如果客户端发送POST请求,容器调用Servlet的doPost方法处理并响应请求;或者统一使用service()方法来响应用户请求;
4、web容器决定销毁Servlet时,先调用Servlet的destory方法,通常在关闭web应用之前销毁Servlet。
Servlet 参数配置与获取:
eg:
web.xml 文件
TwoServlet.java文件
注意:ServletConfig 获取配置参数的方法和ServletContext 获取配置参数的方法完全一样,只是ServletConfig是取得当前Servlet 的配置参数,而 ServletContext 是获取整个web应用的配置参数。
》 doGet:用于响应客户端的GET请求;
》 doPost:用于响应客户端的POST请求;
Servlet为了响应这2种请求,必须重写doGet()和doPost两个方法。大部分的时候,Servlet对于所有的请求的响应都是完全一样的。因此,可以采用重写一个方法来替代上面的几个方法:只需要重写service()方法即可响应客户端的所有请求。
另外,HttpServlet 还包含
init(ServletConfig config):创建Servlet实例时,调用该方法初始化servlet资源。
destory():销毁servlet实例时,自动调用该方法回收资源。
通常无须重写 init() 和 destory() 两个方法,除非需要在初始化Servlet时,完成某些资源初始化的方法,才考虑重写init方法。如果需要在销毁servlet之前,先完成某些资源的回收,如关闭数据库连接等,才需要重写destory()方法。
注意:不用为servlet类编写构造器,如果需要对servlet进行初始化操作,应将初始化操作放在Servlet的init()方法中定义。如果重写了init(ServletConfig config)方法,则应在该方法的第一行调用 super.init(config); 该方法将调用HttpServlet的init方法。
Servlet 和 JSP 的 区别在于:
1、Servlet 中没有内置对象,原来JSP中的内置对象都必须有程序显式创建。
2、对于静态的html标签,Servlet都必须使用页面输出流逐行输出。
JSP/Servlet 的生命周期
jsp的本质就是servlet,开发者编写的jsp页面将由web容器编译成对应的Servlet,当Servlet在容器中运行时,其实例的创建及销毁等都不是由程序员决定的,而是由web容器进行控制的。
创建Servlet实例有2个时机:
1、客户端第一次请求某个Servlet时,系统创建该Servlet的实例:大部分的Servlet都是这种Servlet。
2、web应用启动时立即创建Servlet实例,即load-on-startup Servlet。(注意:应用启动之时就创建Servlet,通常是用于某些后台服务的Servlet,或者需要拦截很多请求的Servlet;这种Servlet通常作为应用的基础Servlet使用,提供重要的后台服务。)
load-on-startup Servlet 的配置:
1、在web.xml 文件中通过<servlet.../>元素的<load-on-startup.../>子元素进行配置(eg1);
2、通过@WebServlet Annotation 的 loadOnStartup 属性指定(eg2)。
eg1:
eg2:
Servlet生命周期:
1、创建Servlet实例;
2、web容器调用Servlet的init方法,对Servlet进行初始化;
3、Servlet 初始化后,将一直存在于容器中,用于响应客户端请求;如果客户端发送get请求,容器调用servlet的doGet方法处理并响应请求;如果客户端发送POST请求,容器调用Servlet的doPost方法处理并响应请求;或者统一使用service()方法来响应用户请求;
4、web容器决定销毁Servlet时,先调用Servlet的destory方法,通常在关闭web应用之前销毁Servlet。
Servlet 参数配置与获取:
eg:
web.xml 文件
TwoServlet.java文件
注意:ServletConfig 获取配置参数的方法和ServletContext 获取配置参数的方法完全一样,只是ServletConfig是取得当前Servlet 的配置参数,而 ServletContext 是获取整个web应用的配置参数。
相关文章推荐
- spring学习10- mvc 异步之servlet异步基础知识
- javaweb基础学习(一)<ServletConfig与ServletContext对象详解>
- jsp Servlet基础入门学习:设置HTTP应答头
- [Spring MVC]学习笔记--基础Servlet
- jsp servlet jdbc java基础学习
- 【Servlet和JSP-学习-1】基础知识
- 【幻化万千戏红尘】qianfengDay26-Servlet、http协议、URL基础学习:
- 几个比较好的java学习网站(Struts,Servlet,jar源码,hibernate,java基础知识)
- 如何看待和学习基础servlet???
- 知识学习——Servlet基础
- servlet基础学习总结
- java 从零开始,学习笔记之基础入门<servlet_文件下载>(二十七)
- Servlet基础学习二(共享数据,操作数据库)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<servlet_文件下载>(二十七)
- Jsp学习之Servlet基础
- java基础巩固----servlet的重点学习
- 【Java学习-J.160601.0.20】Servlet 基础二
- 【Java学习-J.160611.0.21】Servlet基础四 session部分
- Head First Servlet&Jsp 学习笔记(一) 一些基础知识
- Servlet基础学习指导