码迷,mamicode.com
首页 > 其他好文 > 详细

我的第一个Servlet程序和Servlet的生命周期函数

时间:2015-11-16 08:17:40      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

一、Servlet概念:
  Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的  Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
 
二、第一个Servlet程序:

  创建一个HelloServlet类,继承Servlet接口,并实现接口的方法。public class HelloServlet implements Servlet{...}

package com.iflytek.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;

public class HelloServlet implements Servlet {
    
    public HelloServlet(){
        System.out.println("constructor...");
    }

    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init...");
    }
    
    @Override
    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException {
        System.out.println("service...");

    }

    @Override
    public ServletConfig getServletConfig() {
        System.out.println("getServletConfig...");
        return null;
    }

    @Override
    public String getServletInfo() {
        System.out.println("getServletInfo...");
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("destroy...");
    }
}

 

三、配置web.xml文件(配置和映射Servlet)

<?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_2_5.xsd"
    id="WebApp_ID" version="2.5">
    
    <!-- 配置 和 映射 Servlet -->
    
    <!-- 配置 Servlet -->
    <servlet>
        <servlet-name>helloServlet</servlet-name>
        <servlet-class>com.iflytek.servlet.HelloServlet</servlet-class>
    </servlet>
    
    <!-- 映射 Servlet -->
    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
</web-app>

 

四、启动Tomcat服务器,在地址栏输入 http://localhost:8080/test001_Servlet/hello。控制台输出信息如下:

技术分享

 

五、Servlet 生命周期

  1. 构造器: 只被调用一次. 只有第一次请求 Servlet 时, 创建 Servlet 的实例. 调用构造器.这说明 Serlvet 的单实例的!
  2. init 方法: 只被调用一次. 在创建好实例后立即被调用. 用于初始化当前 Servlet.
  3. service: 被多次调用. 每次请求都会调用 service 方法. 实际用于响应请求的.
  4. destroy: 只被调用一次. 在当前 Servlet 所在的 WEB 应用被卸载前调用. 用于释放当前 Servlet 所占用的资源.

 

六、Servlet接口的源码:

package javax.servlet;

import java.io.IOException;

public interface Servlet {
   
    public void init(ServletConfig config) throws ServletException;
   
    public ServletConfig getServletConfig();

    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException;

    public String getServletInfo();

    public void destroy();

}

 

我的第一个Servlet程序和Servlet的生命周期函数

标签:

原文地址:http://www.cnblogs.com/chulei926/p/4967981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!