package com.bjpowernode.oa.listener;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
import jakarta.servlet.annotation.WebListener;
@WebListener
public class MyListener implements ServletContextListener
//实现ServletContextListener接口
{
//现在这个监听器主要监听的时servletContext的状态
//所有监听器中的方法都不需要我们调用
//由服务器来调用,但事件发生后,被服务器调用
@Override
public void contextInitialized(ServletContextEvent sce) {
//这个方法在servletContext创建的时候调用
System.out.println("servletContext创建了");
//这个对象随服务器启动创建
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
//这个在ServletContext被销毁的时候调用
System.out.println("servletContext销毁了");
//这个对象随服务器关闭销毁
}
}
package com.bjpowernode.oa.listener;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
import jakarta.servlet.annotation.WebListener;
@WebListener
public class MyListener implements ServletContextListener
//实现ServletContextListener接口
{
//现在这个监听器主要监听的时servletContext的状态
//所有监听器中的方法都不需要我们调用
//由服务器来调用,但事件发生后,被服务器调用
@Override
public void contextInitialized(ServletContextEvent sce) {
//这个方法在servletContext创建的时候调用
System.out.println("servletContext创建了");
//这个对象随服务器启动创建
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
//这个在ServletContext被销毁的时候调用
System.out.println("servletContext销毁了");
//这个对象随服务器关闭销毁
}
}
package com.bjpowernode.oa;
public class Test
{
//静态代码块,类加载时执行,只执行一次
//静态代码块用的不多,但是但我们需要在类加载的时候执行一段代码,我们就使用
//由此可知,静态代码块就是java程序为程序员预留的一个时间,在类加载时执行代码
static
{
System.out.println("类加载了");
}
public static void main(String[] args)
{
}
}
package com.bjpowernode.oa;
public class Test
{
//静态代码块,类加载时执行,只执行一次
//静态代码块用的不多,但是但我们需要在类加载的时候执行一段代码,我们就使用
//由此可知,静态代码块就是java程序为程序员预留的一个时间,在类加载时执行代码
static
{
System.out.println("类加载了");
}
public static void main(String[] args)
{
}
}
package com.bjpowernode.oa.listener;
import jakarta.servlet.ServletRequestEvent;
import jakarta.servlet.ServletRequestListener;
import jakarta.servlet.annotation.WebListener;
@WebListener
public class MyRequestListener implements ServletRequestListener
{
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("request销毁");
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("request创建");
}
}
package com.bjpowernode.oa.listener;
import jakarta.servlet.ServletRequestEvent;
import jakarta.servlet.ServletRequestListener;
import jakarta.servlet.annotation.WebListener;
@WebListener
public class MyRequestListener implements ServletRequestListener
{
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("request销毁");
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("request创建");
}
}
package com.bjpowernode.oa.listener;
import jakarta.servlet.annotation.WebListener;
import jakarta.servlet.http.HttpSessionEvent;
import jakarta.servlet.http.HttpSessionListener;
@WebListener
public class MySession implements HttpSessionListener
{
@Override
public void sessionCreated(HttpSessionEvent se) {
System.out.println("session创建了");
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("session销毁了");
}
}
package com.bjpowernode.oa.listener;
import jakarta.servlet.annotation.WebListener;
import jakarta.servlet.http.HttpSessionEvent;
import jakarta.servlet.http.HttpSessionListener;
@WebListener
public class MySession implements HttpSessionListener
{
@Override
public void sessionCreated(HttpSessionEvent se) {
System.out.println("session创建了");
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("session销毁了");
}
}
<?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">
<session-config>
<!-- 代表session的超时时间是30分钟,如果30分钟到,session对象就会被销毁-->
<session-timeout>30</session-timeout>
</session-config>
<!-- <listener>-->
<!-- <listener-class>com.bjpowernode.oa.listener.MyListener</listener-class>-->
<!-- </listener>-->
<!-- 使用欢迎页机制跳转到cookie登录-->
<welcome-file-list>
<welcome-file>Welcome</welcome-file>
</welcome-file-list>
<!-- XML的写法-->
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.bjpowernode.oa.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<!-- <url-pattern>/Test/A</url-pattern>-->
<!-- <url-pattern>/Test/B</url-pattern>-->
<url-pattern>/dept/*</url-pattern>
</filter-mapping>
</web-app>
<?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">
<session-config>
<!-- 代表session的超时时间是30分钟,如果30分钟到,session对象就会被销毁-->
<session-timeout>30</session-timeout>
</session-config>
<!-- <listener>-->
<!-- <listener-class>com.bjpowernode.oa.listener.MyListener</listener-class>-->
<!-- </listener>-->
<!-- 使用欢迎页机制跳转到cookie登录-->
<welcome-file-list>
<welcome-file>Welcome</welcome-file>
</welcome-file-list>
<!-- XML的写法-->
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.bjpowernode.oa.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<!-- <url-pattern>/Test/A</url-pattern>-->
<!-- <url-pattern>/Test/B</url-pattern>-->
<url-pattern>/dept/*</url-pattern>
</filter-mapping>
</web-app>