ServletContextListener 监听器实例

小小知识点
在这里插入图片描述

创建bean(要放在包中)

package bean;

public class Constants {

    private  String poweredby;
    private  String contact;

    public Constants(String poweredby, String contact) {
        this.poweredby = poweredby;
        this.contact = contact;
    }

    public String getPoweredby() {
        return poweredby;
    }

    public String getContact() {
        return contact;
    }
}

创建自己的监听器,重写方法

import bean.Constants;
import javax.servlet.*;
import javax.servlet.annotation.WebListener;

@WebListener
public class MyServletContestListener implements {
    
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("对象初始化");
        ServletContext sc = sce.getServletContext();
        String poweredby = sc.getInitParameter("poweredby");
        String contact = sc.getInitParameter("contact");
        Constants constants = new Constants(poweredby, contact);
        sc.setAttribute("constants", constants);

    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("对象销毁");
    }
}


配置文件

<?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">
    <display-name>Context Listener</display-name>
    <context-param>
        <param-name>poweredby</param-name>
        <param-value>Java EE学习训练班</param-value>
    </context-param>
    <context-param>
        <param-name>contact</param-name>
        <param-value>391911679@qq.com</param-value>
    </context-param>
</web-app>

测试文件

import bean.Constants;
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;
import java.io.PrintWriter;

@WebServlet("/ContextServlet")
public class ContextServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setCharacterEncoding("UTF-8");
        response.setHeader("Content-type", "text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

        out.println("测试由监听器设置的上下文属性<br/><br/>");

        Constants constants = (Constants) getServletContext().getAttribute("constants");

        out.println("监听器设置的上下文属性:<br/>");
        out.println("Poweredby:" + constants.getPoweredby() + "<br/>");
        out.println("Contact:" + constants.getContact() + "<br/>");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost(request, response);
    }
}

测试结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值