Servlet简介
2017-07-06 21:50
211 查看
Servlet与JSP都由SUN公司推出,其中JSP技术允许在HTML页面中嵌入Java脚本代码从而实现动态网页的功能。
Servlet是一个平台独立的Java类,编写Servlet其实就是按照Servlet规范来编写一个Java类。之后Servlet被编译为平台独立的字节码,被动态地加载到支持Java的Web容器中运行。
Servlet不能独立运行,必须被部署到Servlet容器中,由Servlet容器对其进行实例化并进行方法的调用,Servlet容器在Servlet的生命周期内对其进行管理。(Web容器、Servlet容器、JSP容器被认为是同义的)
Servlet的使用流程:用户通过单击某个链接或直接在浏览器的地址栏中输入URL来访问Servlet,Web服务器在接收到请求后,不是直接交给Servlet,而是先将其交给Servlet容器。Servlet容器对Servlet进行实例化并调用一个特定的方法产生一个响应。Servlet容器将这个响应返回给Web服务器,Web服务器将其包装成HTTP响应的形式返回给Web浏览器。
Servlet是单实例多线程的。
Servlet由Servlet容器进行管理,当客户端请求到来时,容器创建一个ServletRequest对象来封装请求数据,同时创建一个ServletResponse对象来封装响应数据。这两个对象被Servlet容器作为service()方法的参数传递给Servlet,Servlet从ServletRequest中获取客户端发来的请求数据,通过ServletResponse返回响应数据。
在javax.servlet包中,定义了ServletConfig接口。ServletConfig对象由Servlet容器构造,Servlet容器使用ServletConfig对象在Servlet初始化时向其传递配置信息,一个Servlet只有一个ServletConfig对象。可以在Servlet的init方法中使用this.getInitParameter()方法通过ServletConfig获取初始化参数。
Java开发的Web应用程序需要遵守一定的目录层级结构,在Servlet规范中定义了Web应用程序的目录层级结构,如图所示。
其中
\ch02:Web应用程序的根目录,属于此Web应用程序的所有文件都存放在这个目录下;
\ch02\WEB-INF:存放Web应用程序的部署描述符文件web.xml;
\ch02\WEB-INF\classes:存放Servlet及其它有用的类文件;
\ch02\WEB-INF\lib:存放Web应用程序需要用到的jar文件;
\ch02\WEB-INF\web.xml:web.xml文件中包含Web应用程序的配置与部署信息。
其中,classes文件夹与lib文件夹里都可以存放Java的类文件,在Servlet容器运行时,Web应用程序的类加载器将首先加载classes中的类,再加载lib中的类,若两个文件夹中的类出现重名,以classes文件夹中的类为准。另外,WEB-INF文件夹对用户是不可见的,不能通过URL进行访问,但是在Servlet代码中可以通过ServletContext的getResource()或getResourceAsStream()方法访问WEB-INF目录下的资源,也可以通过RequestDispatcher将WEB-INF下的资源呈现到客户端。因此,如果我们想在Servlet代码中访问保存在文件中的配置信息,而又不希望这些配置信息被客户端访问到,就可以把这些文件放到WEB-INF目录下。
Servlet是一个平台独立的Java类,编写Servlet其实就是按照Servlet规范来编写一个Java类。之后Servlet被编译为平台独立的字节码,被动态地加载到支持Java的Web容器中运行。
Servlet不能独立运行,必须被部署到Servlet容器中,由Servlet容器对其进行实例化并进行方法的调用,Servlet容器在Servlet的生命周期内对其进行管理。(Web容器、Servlet容器、JSP容器被认为是同义的)
Servlet的使用流程:用户通过单击某个链接或直接在浏览器的地址栏中输入URL来访问Servlet,Web服务器在接收到请求后,不是直接交给Servlet,而是先将其交给Servlet容器。Servlet容器对Servlet进行实例化并调用一个特定的方法产生一个响应。Servlet容器将这个响应返回给Web服务器,Web服务器将其包装成HTTP响应的形式返回给Web浏览器。
Servlet是单实例多线程的。
Servlet由Servlet容器进行管理,当客户端请求到来时,容器创建一个ServletRequest对象来封装请求数据,同时创建一个ServletResponse对象来封装响应数据。这两个对象被Servlet容器作为service()方法的参数传递给Servlet,Servlet从ServletRequest中获取客户端发来的请求数据,通过ServletResponse返回响应数据。
在javax.servlet包中,定义了ServletConfig接口。ServletConfig对象由Servlet容器构造,Servlet容器使用ServletConfig对象在Servlet初始化时向其传递配置信息,一个Servlet只有一个ServletConfig对象。可以在Servlet的init方法中使用this.getInitParameter()方法通过ServletConfig获取初始化参数。
Java开发的Web应用程序需要遵守一定的目录层级结构,在Servlet规范中定义了Web应用程序的目录层级结构,如图所示。
其中
\ch02:Web应用程序的根目录,属于此Web应用程序的所有文件都存放在这个目录下;
\ch02\WEB-INF:存放Web应用程序的部署描述符文件web.xml;
\ch02\WEB-INF\classes:存放Servlet及其它有用的类文件;
\ch02\WEB-INF\lib:存放Web应用程序需要用到的jar文件;
\ch02\WEB-INF\web.xml:web.xml文件中包含Web应用程序的配置与部署信息。
其中,classes文件夹与lib文件夹里都可以存放Java的类文件,在Servlet容器运行时,Web应用程序的类加载器将首先加载classes中的类,再加载lib中的类,若两个文件夹中的类出现重名,以classes文件夹中的类为准。另外,WEB-INF文件夹对用户是不可见的,不能通过URL进行访问,但是在Servlet代码中可以通过ServletContext的getResource()或getResourceAsStream()方法访问WEB-INF目录下的资源,也可以通过RequestDispatcher将WEB-INF下的资源呈现到客户端。因此,如果我们想在Servlet代码中访问保存在文件中的配置信息,而又不希望这些配置信息被客户端访问到,就可以把这些文件放到WEB-INF目录下。
相关文章推荐
- Response对象、HttpServletResponse简介、处理字节编码问题、实现动态文件下载
- Servlet简介 以及servlet一些细节 servletconfig servletcontext 的几个应用
- servlet之session工作原理简介_动力节点Java学院整理
- Servlet简介
- Servlet&JSP 第一章 Web应用程序简介
- JSP/Servlet: 简介 Tag File
- servlet简介及ServletContext对象
- Java中Servlet简介
- Servlet简介
- Servlet第三篇【request和response简介、response的常见应用】
- Servlet规范简介——web框架是如何注入到Servlet中的
- Servlet 简介
- servlet基础及过滤器简介
- 三、初学servlet之servlet简介
- Servlet 生命周期简介
- Servlet简介及其生命周期详解
- servlet技术简介
- 20180312:Servlet简介与体系结构、实现方式、配置方式、生命周期、转发与重定向、JSP的相关内容
- JSP简介及入门(含Eclipse for Java EE及Tomcat,简易servlet的配置)
- Servlet自学第7讲:Servlet简介