Servlet-第一个Servlet程序、Servlet生命周期方法、请求的分发处理

Servlet 的生命周期

1、执行 Servlet 构造器方法
2、执行 init 初始化方法
第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。

3、执行 service 方法
第三步,每次访问都会调用。

4、执行 destroy 销毁方法
第四步,在 web 工程停止的时候调用。

package top.qaqaq.P122;

import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;

import java.io.IOException;

/**
 * @author RichieZhang
 * @create 2022-12-04 下午 6:28
 */
public class HelloServlet implements Servlet {

    public HelloServlet() {
        System.out.println("1 构造器方法");
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("2 init初始化方法");

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    /**
     * service方法是专门用来处理请求和响应的
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("3 service === Hello Servlet 被访问了");

        // 类型转换(因为它有getMethod()方法)
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        // 获取请求方式
        String method = httpServletRequest.getMethod();

//        System.out.println(method);

        if ("GET".equals(method)){
            doGet();
        } else {
            doPost();
        }

    }

    /**
     * 做get请求的操作
     */
    public void doGet(){
        System.out.println("get请求");
        System.out.println("get请求");
    }

    /**
     * 做post请求的操作
     */
    public void doPost(){
        System.out.println("post请求");
        System.out.println("post请求");
    }

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

    @Override
    public void destroy() {
        System.out.println("4 destory销毁方法");

    }
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--    <form action="http://localhost:8080/JavaWeb_Code_Servlet/hello" method="get">-->
<!--        -->
<!--        <input type="submit">-->
<!--    </form>-->

    <form action="http://localhost:8080/JavaWeb_Code_Servlet/hello3" method="post">

        <input type="submit">
    </form>

</body>
</html>
<?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_4_0.xsd"
         version="4.0">

    <!-- servlet标签给Tomcat配置Servlet程序 -->
    <servlet>
        <!--servlet-name标签 Servlet程序起一个别名(一般是类名)-->
        <servlet-name>HelloServlet</servlet-name>
        <!--servlet-class是Servlet程序的全类名)-->
        <servlet-class>top.qaqaq.P122.HelloServlet</servlet-class>
    </servlet>

    <!-- servlet-mapping标签给servlet程序配置访问地址 -->
    <servlet-mapping>
        <!-- servlet-name标签的作用是告诉服务器,我当前配置的地址给哪个servlet程序使用 -->
        <servlet-name>HelloServlet</servlet-name>
        <!-- url-pattern标签配置访问地址
            / 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径
            /hello 表示地址为:http://ip:port/工程路径/hello
        -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
    <servlet>
        <servlet-name>HelloServlet2</servlet-name>
        <servlet-class>top.qaqaq.P127.HelloServlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet2</servlet-name>
        <url-pattern>/hello2</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>HelloServlet3</servlet-name>
        <servlet-class>top.qaqaq.P128.HelloServlet3</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet3</servlet-name>
        <url-pattern>/hello3</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>HelloServlet4</servlet-name>
        <servlet-class>top.qaqaq.P130.HelloServlet4</servlet-class>
        <!-- init-param是初始化参数 -->
        <init-param>
            <!-- 是参数名 -->
            <param-name>username</param-name>
            <!-- 是参数值 -->
            <param-value>root</param-value>
        </init-param>
        <!-- init-param是初始化参数 -->
        <init-param>
            <!-- 是参数名 -->
            <param-name>url</param-name>
            <!-- 是参数值 -->
            <param-value>jdbc:mysql://localhost:3306/test</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet4</servlet-name>
        <url-pattern>/hello4</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>HelloServlet5</servlet-name>
        <servlet-class>top.qaqaq.P131.HelloServlet5</servlet-class>
        <!-- init-param是初始化参数 -->
        <init-param>
            <!-- 是参数名 -->
            <param-name>username</param-name>
            <!-- 是参数值 -->
            <param-value>root2</param-value>
        </init-param>
        <!-- init-param是初始化参数 -->
        <init-param>
            <!-- 是参数名 -->
            <param-name>url</param-name>
            <!-- 是参数值 -->
            <param-value>jdbc:mysql://localhost:3306/test2</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet5</servlet-name>
        <url-pattern>/hello5</url-pattern>
    </servlet-mapping>
</web-app>
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇