2022年课时二:Servlectservlet 周期的应用

简介: 2022年课时二:Servlectservlet 周期的应用

了解sevlet的周期历程

构造方法(创建servlet 对象执行)创建该servlet的对象,在执行init方法加载数据最后

执行service方法当前servlet处于运行状态。

Servlet 初始化后调用 init () 方法。

Servlet 调用 service() 方法来处理客户端的请求。

Servlet 销毁前调用 destroy() 方法 长时间未访问。

getServletCong方法(获得serverweb.xml文件)

最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

创建第一个oneservlet的类 采用接口。

public class OneServlet implements Servlet  {

定义了五个方法

 public fourServlect() {
        super();
        // TODO Auto-generated constructor stub
    }
//构造方法一alt+/一键生成
@Override
  public void destroy() {
    // dectroy 删除select,cpu释放内存
    System.err.println("当servlet不在实现该方法");
  }
@Override
  public ServletConfig getServletConfig() {
    // TODO Auto-generated method stub
    //获得 get  servlet 小程序  confign 设置信息
    //getServletConfig()作用用于servlet在/web/html文件中设置信息
    return null;
  }
  @Override
  public String getServletInfo() {
    // TODO Auto-generated method stub
    return null;
  }
  @Override
  public void init(ServletConfig arg0) throws ServletException {
    // TODO Auto-generated method stub
    //初始数据
    System.out.println("加载信........息");
    System.out.println("说明浏览器每一次访问servlet就是第一次访问创建同一个对象");
    System.out.println("加载信息。。。。。2");
  }
@Override
  public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
    // TODO Auto-generated method stub
    //等待浏览器访问
    System.out.println("servlect处于运行状态");
  }

注册页面

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>Day02jsp</display-name>
  <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>
  <!-- 注册oneServlet -->
  <!--  第一部分 注册OneServlet-->
  <servlet>
  <!--  srvlet 增加名字  -->
  <servlet-name>OneServlet</servlet-name>
  <!--注册servlet地址  -->
  <servlet-class>com.servlet.OneServlet</servlet-class>
  <load-on-startup>5</load-on-startup>
  </servlet>
  <!--第二部分 :设置一个浏览器可以访问的servlet的地址 -->
  <servlet-mapping>
  <servlet-name>OneServlet</servlet-name>
  <!--设置浏览器地址  -->
  <url-pattern>/aa</url-pattern>
  <!-- 设置地址访问一定加/asd -->
  </servlet-mapping>
  <!-- 注册twoServlet -->
  <!--  第一部分 注册OneServlet-->
  <servlet>
  <!--  srvlet 增加名字  -->
  <servlet-name>TwoServlet</servlet-name>
  <!--注册servlet地址  -->
  <servlet-class>com.servlet.TwoServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  </servlet>
  <!--第二部分 :设置一个浏览器可以访问的servlet的地址 -->
  <servlet-mapping>
  <servlet-name>TwoServlet</servlet-name>
  <!--设置浏览器地址  -->
  <url-pattern>/*bb</url-pattern>
  <!-- 设置地址访问一定加/asd -->
  </servlet-mapping>
   <!-- 注册treeServlet -->
  <!--  第一部分 注册OneServlet-->
  <servlet>
  <!--  srvlet 增加名字  -->
  <servlet-name>Three</servlet-name>
  <!--注册servlet地址  -->
  <servlet-class>com.servlet.Three</servlet-class>
  <load-on-startup>3</load-on-startup>
  </servlet>
  <!--第二部分 :设置一个浏览器可以访问的servlet的地址 -->
  <servlet-mapping>
  <servlet-name>Three</servlet-name>
  <!--设置浏览器地址  -->
  <!--  *:表示0个或任意字符-->
  <url-pattern>/cc</url-pattern>
  <!-- 设置地址访问一定加/asd -->
  </servlet-mapping>
</web-app>

创建第二个twoservlet的类 采用继承。

public class TwoServlet  extends GenericServlet {
public TwoServlet() {
  // TODO Auto-generated constructor stub
  System.out.println("Twoservlet 在运行 过程中哦哦哦");
}
  @Override
  public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("当前servlet处于运行");

创建第三个treeservlet的类 采用继承。

public class Three  extends HttpServlet{
//http:网络协议 TCP/LP 被动协议 需要用户去访问服务器 ,服务器材会发送数据。
//有四种发送数据方式:get 发送请求  post发送请求

创建

  public Three() {
    // TODO Auto-generated constructor stub
    System.out.println("tree对象在创建");
  }
  //UDP:主动协议,不管用户要不要 ,服务器都会发送数据
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // TODO Auto-generated method stub
  System.out.println("我收到浏览器的get请求访问  get---doget");
  /*
   * System.out.println("http://localhost:8080/Day02jsp/");
   * System.out.println("get 如果浏览器发送多个数据以后与字符连接");
   * System.out.println("登录功能一律不使用post的请求,"); System.out.println("get post ");
   * System.out.println("get请求数据拼接在地址上,地址长度有限 ,lkb=1024 一个字母二个字节 是2个字母");
   * System.out.println("post 数据是不受限制的 get获得");
   */
  }
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("我收到浏览器的post请求访问  post----dopost");
  }

第四个forservlet的类  采用快捷键。

@WebServlet(urlPatterns="/xxxx")
public class fourServlect extends HttpServlet {
  private static final long serialVersionUID = 1L;
       //定义一个变量
package com.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Servlet implementation class fourServlect
 * @xxxxx:java注解用少量
 */
@WebServlet(urlPatterns="/xxxx")
public class fourServlect extends HttpServlet {
  private static final long serialVersionUID = 1L;
       //定义一个变量
    int countt=0;
    String hdrt="L LOVE YOU";
    /**
     * @see HttpServlet#HttpServlet()
     */
    public fourServlect() {
        super();
        // TODO Auto-generated constructor stub
    }
  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    countt++;
    response.getWriter().append("Served at:get  countt"+countt+"l love you "+countt+"");
  }
  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    response.getWriter().append("Served at:get ");
  }
}

理解http地址的/*

在web.xml文件中,以下语法用于定义映射:

  l.以”/’开头和以”/*”结尾的是用来做路径映射的。


  2.以前缀”*.”开头的是用来做扩展映射的。


  3. “/” 是用来定义default servlet映射的。


  4. 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action  


相关文章
|
人工智能 监控 Serverless
|
监控 Serverless 文件存储
课时4:函数的开发与配置
课时4:函数的开发与配置
|
Serverless API 调度
|
监控 Serverless 开发工具
课时7:函数计算的可观测性
课时7:函数计算的可观测性
|
人工智能 监控 Serverless
|
存储 Serverless 文件存储
|
人工智能 JavaScript Serverless
|
监控 Serverless 测试技术
|
云安全 存储 弹性计算
怎么样才能通过阿里云考试?学习时间长不长?
考证书给自己背书是现在很多行业的人都会做的事,而对于从事信息通信行业的人来说,阿里云的认证是非常具有含金量的。
|
Kubernetes 网络协议 关系型数据库
耗时1周整理:分享K8S Pod知识点,带你一文打尽
耗时1周整理:分享K8S Pod知识点,带你一文打尽
218 0