Servlet 概序

来源:互联网 发布:光纤交换机查看端口 编辑:程序博客网 时间:2024/06/03 16:57

一、Servlet简介

Servlet 是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式的浏览和修改数据,生成动态Web程序内容。

Servlet运行于支持Java的应用服务器中,可以响应任何类型的请求,但绝大多数情况下servlet只用来扩展基于HTTP协议的Web服务器。

一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器驻留着可以通过“请求-响应”编程模型来访问的应用程序。

二、实现过程

1、客户端发送请求至服务器端

2、服务器将请求信息发送至servlet

3、servlet生成响应内容并将其传给服务器,响应内容动态生成,通常取决于客户端的请求

4、服务器将响应返回给客户端

三、生命周期

1、当第一次请求到达servlet时会创建一个servlet,并调用init()方法初始化servlet

2、根据请求方法不同(post,get等)处理请求service()方法,将处理之后响应回传给客户端

3、当多次客户端请求,仍然由service()方法处理,但不在init()方法初始化,servlet只初始化一次

4、关闭servelt时,调用destroy()方法。



示例:

第一步:创建servlet  java类 继承Servlet接口

package com.servletexample.servlet;import java.io.IOException;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/** * @ClassName: ExampleServlet  * @Description: TODO Servlet示例 * @author Shen  */public class ExampleServlet implements Servlet{/** * Servlet销毁时该方法将调用 */@Overridepublic void destroy() {System.out.println("ServletContext将销毁");}/** * getServletConfig() 方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和 ServletContext。 * ServletContext 接口提供有关 servlet 的环境信息。 */@Overridepublic ServletConfig getServletConfig() {System.out.println("getServletConfig()");return null;}/** * getServletInfo() 方法是一个可选的方法,它提供有关 servlet 的信息,如作者、版本、版权。 */@Overridepublic String getServletInfo() {System.out.println("getServletInfo()");return null;}/** * 在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。  * 可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。  * 无论有多少客户机访问 Servlet,都不会重复执行 init() 。 */@Overridepublic void init(ServletConfig config) throws ServletException {System.out.println("初始化Servlet");}/** * service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用, * 而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。  */@Overridepublic void service(ServletRequest request, ServletResponse repsonse) throws ServletException, IOException {System.out.println("service");}}

二步:配置web.xml 注册自定义的ServletExample类

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  id="WebApp_ID" version="3.0"><!-- 配置自定义Servlet --><servlet><servlet-name>ServletExample</servlet-name><servlet-class>com.servletexample.servlet.ExampleServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><!-- 映射自定义Servlet --><servlet-mapping><servlet-name>ServletExample</servlet-name><!-- 配置拦截ServletExample请求 --><url-pattern>/ServletExample</url-pattern></servlet-mapping></web-app>

第三步:将项目程序部署到tomcat,并启动。在页面地址输入http://127.0.0.1:8080/ServletExample/ServletExample,将看到控制台输出信息。

备注:http://127.0.0.1:8080/ServletExample/ServletExample    第一个ServletExample是项目名称,第二个是请求ServletExample,因web.xml配置只拦截ServletExample。

原创粉丝点击