一、servlet简介
servlet是由sun公司提供的一门用于开发动态web资源的技术。sun公司在其API中提供了一个servlet接口,用户若想发一个web资源(即就是开发一个java程序向浏览器输出数据),需要完成以下的两个步骤:
1、编写一个java类,实现servlet接口。
2、把开发好的java类部署到web服务器中。按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为servlet。
二、什么是servlet
Servlet是一种基于java技术的web组件,是一种基于java的且与第三方平台无关的类。通常,它可以被web服务器编译、加载和运行,最后生成动态的资源内容。
三、什么是servlet容器
Servlet容器通常是web服务器的一部分,或者说是它的一个组件,servlet容器通常提供了一些接收客户端请求、给出响应等网络请求服务,通常,servlet容器通过servlet的生命周期管理所有的servlet,tomcat就是一个典型的servlet容器。
四、为什么要使用servlet
1、servlet是采用接java编写的,而由java跨平台性的特点可知,servlet移植性很好,且servletAPI具有完善的标准,几乎所有的主流服务器都支持servlet。
2、servlet与传统的CGI(common gateway interface)相比,功能要强大,且处理的请求采用的是线程,而非进程,从而节省大量的资源开销,因此servlet处理请求更轻量级、更高效。
五、servlet常用的接口
5.1 servlet接口 :
(1)定义了servlet必须实现的方法;
(2)所有的servlet都必须实现这个接口;
(3)GenericServlet类实现了这个接口;
(4)HttpServlet继承了GenericServlet类;
Public abstract interface Servlet
{
Public void destroy();
Public ServletConfig getServletConfig();
Public String getServletInfo();
Public void init(ServletConfig config);
Public void service(ServletResquset request,ServletResponse reponse)
}
5.2 ServletRequest接口
(1)ServletRequest用来向Servlet提供客户有关请求的信息;
(2)HttpServletRequest类继承了ServletRequest接口,能够提供进一步的与协议相关的数据;
(3)ServletRequest对象是service方法的参数之一;
5.3 ServletResponse接口
1、(1)ServletResponse用来向客户端传送经过MIME编码的数据;
发送文本数据时,使用getWrite方法返回PrintWrite对象‘
发送二进制数据时,使用getOutputStream方法返回ServletOutpuStream对象;
另外,在调用getWrite或getOutputStream方法前调用setContentType方法;
(2)HttpServletResponse类继承ServletResponse接口,能够提供进一步的与协议相关的数据
(3)ServletResponse对象是service方法的参数之一;
5.4 SingleThreadModel接口
(1)SingleThreadModel接口确保Servlet在同一时刻只处理一个请求;
(2)此接口中没有定义方法
5.5 ServletConfig接口
1、(1)ServletConfig接口用于存取servlet实例的初始化参数;
(2)参数形式:名称/数值对
(3)通过ServletConfig可以得到web.xml中的设置的servlet的一些部署信息;
(4)每一个ServletConfig对象对应着的一个唯一的servlet;
2、ServletConfig接口定义
Public abstract interface ServletConfig{
Public String getInitParameter(String name);
Public Enumeration getInitParameterName();
Public ServletContext get ServletContext();
}
5.6 ServletContext接口
(1)ServletContext接口向Servlet提供了访问其环境所需的方法,并记录了一些重要环境信息;
(2)通过调用ServletConfig.getServletContext来获得ServletContext对象;
六、如何开发一个servlet
1、编写java类,继承HttpServlet类
2、重新构建doGet方法和doPost方法
3、在web.xml文件中进行配置
4、servlet程序交给tomcat服务器运行