servlet基本使用(配置)

  • Servlet 运行在服务端的Java小程序,是sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态资源。
  • Servlet是JavaWeb三大组件之一(Servlet、Filter、Listener),且最重要。

servlet作用

  1. 获取请求数据
  2. 处理其你去
  3. 完成响应

使用规范

Servlet规范要求:Servlet程序需要编写实现类,并在web.xml进行配置。

  • 实现类:通常继承javax.servlet.http.HttpServlet类,并复写doGet和doPost方法。
  • doGet()方法用于处理get请求。
  • doPost()方法用于处理post请求。

入门案例

  1. 创建类,编写java代码,继承HttpServlet类,重写doGet与doPost方法
package servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get请求将执行");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post请求将执行");
    }
}
  1. 编写web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <!--
        <servlet> 注册servlet
            <servlet-name> servlet名称,当前xml中唯一
            <servlet-class> servlet实现类的全限定类名
        <servlet-mapping> 给注册的servlet添加映射路径
            <servlet-name> 已经注册的servlet名称。注意:必须与注册的名称一致。
            <url-pattern> 访问路径。要求:必须/开头
      -->
    <servlet>
        <servlet-name>loginServlet</servlet-name>
        <servlet-class>servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>loginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
</web-app>

在这里插入图片描述
3. 配置tomcat
在这里插入图片描述
在这里插入图片描述
4. 启动项目,访问项目
在这里插入图片描述

servlet的执行流程

在这里插入图片描述

servlet的生命周期

  1. servlet的声明周期
    在这里插入图片描述
package demo;

import javax.servlet.*;
import java.io.IOException;

/*
   直接实现 标准  Servlet
 */
public class HisServlet implements Servlet{
    /*
           初始化
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

        System.out.println("呱呱坠地");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
    /*
      服务方法
     */
    @Override
    public void service(ServletRequest servletRequest,
                        ServletResponse servletResponse)
            throws ServletException, IOException {
        System.out.println("您需要服务吗?。。。"");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("垂死病中惊坐起!!!!");
    }
}
  1. servlet被访问的流程
    在这里插入图片描述

servlet的全局变量

ServletContext

  • 服务器启动的时候,为每个WEB应用创建一个单独的ServletContext对象,我们可以使用这个对象存取数据,用这个对象存取的数据可以在整个WEB应用中获得。可以使用如下方法存取数据
  • ServletContext对象,tomcat为每一个web项目单独创建的一个上下文(知上知下贯穿全文)对象。就有功能:
    1. 可以在多个servlet之间共享数据
    2. 存放:setAttribute()
    3. 获得:getAttribute()
    4. 删除:removeAttribute()
      在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HongRi_/article/details/88237341