Servlet体系结构和Servlet相关配置

Servlet体系结构

Servlet -- 接口

 | 

GenericServlet -- 抽象类

 |

HttpServlet -- 抽象类 

  •  GenericServlet :将Servlet接口中其他的方法做了默认空实现 只将Service()方法作为抽象
    • 将来定义Servlet类时 可以继承GenericeServlet 实现Service()方法即可

java代码

复制代码
package com.bai.Servlet;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/demo1")
public class ServletDemo01 extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("demo01");
    }
}
复制代码

运行结果

 

 

  •  HttpServlet:对http协议的一种封装
    • 定义类继承HttpServlet
    • 复写doGet/doPost方法

java代码

复制代码
package com.bai.Servlet;

import com.sun.net.httpserver.HttpServer;

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

@WebServlet("/demo2")
public class ServletDemo02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet...");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doPost...");
    }
}
复制代码

HTML代码

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h3>明文提交</h3>
    <form action="/demo2" method="get">
        <input name="username">
        <input type="submit" name="提交">
    </form>
    <hr>
    <h3>密文提交</h3>
    <form action="/demo2" method="post">
        <input name="password">
        <input type="submit" name="提交">
    </form>
</body>
</html>
复制代码

运行结果

 

 Servlet相关配置

 1.urlpartten:Servlet访问路径

  • 一个Servlet可以定义多个访问路径:@WebServlet({"/d4","/dd4","/ddd4"})
  • 路径定义规则
    • /xxx
    • /xxx/xxx:多层路径 目录结构
    • *.do

java代码

@WebServlet({"/d4","/d4/d4","/hh/*"})
public class ServletDemo03 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet...");
    }
}

运行结果

posted @   baimingze  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示