小小知识点
创建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);
}
}
测试结果