栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【JavaWeb】Servlet的应用全面讲解(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【JavaWeb】Servlet的应用全面讲解(一)

【JavaWeb】Servlet的应用全面讲解

一、Servlet的初步应用

(一)继承HttpServlet的应用

1. 步骤2. 代码演示 (二)继承GenericServlet类的应用

1. 代码演示 (三)实现Servlet接口的应用

1. 代码演示 二、Servlet的方法

(1)service()(2)doGet()(3)doPost()(4)Servlet的生命周期

一、Servlet的初步应用

应用Servlet,我们要以Java类去实现或继承相关类和接口去实现。常用的方法是继承HttpServlet类,来应用Servlet。除此之外,我们需要知道的是,HttpServlet也是通过继承GenericServlet类来实现符合http协议的Servlet应用。并且,GenericServlet类是通过实现Servlet接口来应用Servlet。因此,我们除了常规地可以继承HttpServlet类,还可以通过继承GenericServlet类或者实现Servlet接口来进行Servlet的初步应用。

(一)继承HttpServlet的应用 1. 步骤
 
2. 代码演示 
//@WebServlet的用法
//@WebServlet(name = "Servlet01",value = "/ser01")
//@WebServlet(name = "Servlet01",value = {"/ser01","/ser02"})
//@WebServlet(name = "Servlet01",urlPattens = "/ser01")
//@WebServlet(name = "Servlet01",urlPattens = {"/ser01","/ser02"})
@WebServlet("/ser01") // 路径中的‘/’ 不要忘记
public class Servlet01 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 打印内容在控制台
        System.out.println("Hello Servlet!");
        //通过流输出数据到浏览器
        resp.getWriter().write("Hello Servlet?");
    }
}
(二)继承GenericServlet类的应用 1. 代码演示
@WebServlet("/ser02")
public class Servlet02 extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("继承GenericServlet类...");
    }
}
(三)实现Servlet接口的应用 1. 代码演示
@WebServlet("/ser03")
public class Servlet03 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

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

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("实现Servlet接口...");
    }

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

    @Override
    public void destroy() {

    }
}
二、Servlet的方法

service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。本质上Service()方法才是servlet中真正用于处理请求的方法。

每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

(1)service()
	//若Servlet存在service方法,则优先调用service方法处理get/post请求
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service...");
    }
(2)doGet()
	//处理Get方法的请求
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Get请求...");
    }
(3)doPost()
	//处理Post方法的请求
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Post请求...");
        //可以调用Get请求
        doGet(req,resp);
    }
(4)Servlet的生命周期

@WebServlet("/ser05")
public class Servlet05 extends HttpServlet {
    
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet被调用了...");
    }

    
    @Override
    public void destroy() {
        System.out.println("Servlet被销毁了...");
    }

    
    @Override
    public void init() throws ServletException {
        System.out.println("Servlet被创建了...");
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号