JavaWeb核心之Servlet

1、Servlet

Servleta是运行在服务器端的小程序是sun公司提供的规范接口。用来处理客户端的请求、响应给浏览器的动态资源

2、Servlet 快速入门

(1)Servlet 实现步骤:

--------------------创建类实现Servlet接口

--------------------覆盖(重写)Service方法

--------------------在web.xml中就行servle配置

创建类实现Servlet接口:

 覆盖(重写)Service方法

package demo01;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class QuickServlet implements Servlet {


    @Override
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getServletInfo() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
        arg1.getWriter().write("service方法正在执行");
        System.out.println("service方法正在执行");
        
    }
    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        System.out.println("destroy方法正在执行");
    }
    @Override
    public void init(ServletConfig arg0) throws ServletException {
        // ServletConfig封装的是该Servlet在web.xml里面的配置
        //获取Servlet名称
        System.out.println(arg0.getServletName());
        //获取ServletContext对象
        ServletContext s=arg0.getServletContext();
        System.out.println("init方法正在执行");
    }
}

在web.xml中就行servle配置

 

<?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">
  <display-name>WEB04</display-name>
  <servlet>
    <servlet-name>abc</servlet-name>=================和下面必须一样
    <servlet-class>demo01.QuickServlet</servlet-class>/===============路径/
    <load-on-startup>3</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>abc</servlet-name>==============随便写
    <url-pattern>/aaa</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>Servlet</display-name>
    <servlet-name>Servlet</servlet-name>
    <servlet-class>demo02.Servlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Servlet</servlet-name>
    <url-pattern>/Servlet</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Servlet01</display-name>
    <servlet-name>Servlet01</servlet-name>
    <servlet-class>demo02.Servlet01</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Servlet01</servlet-name>
    <url-pattern>/Servlet01</url-pattern>
  </servlet-mapping>
</web-app>

 

创建类继承HttpServlet

实现步骤:

1)创建类继承HttpServlet类

2)覆盖doGet和doPost

3)web.xml中进行servlet的配置

访问过程:

 3、Servlet的API(生命周期)

(1)Servlet接口中的方法

1)init(ServletConfig config)

何时执行:servlet对象创建的时候执行

ServletConfig : 代表的是该servlet对象的配置信息

2)service(ServletRequest request,ServletResponse response)

何时执行:每次请求都会执行

ServletRequest :代表请求 认为ServletRequest 内部封装的是 http请求的信息

ServletResponse :代表响应 认为要封装的是响应的信息 

3)destroy()

何时执行:servlet销毁(服务器关闭)的时候执行

 欢迎页面

原文地址:https://www.cnblogs.com/yang1182/p/9815781.html