java 在jetty9中使用httpsessionlistener和filter
httpsessionlistener
当session创建或销毁的时候被调用
示例代码:
class myhttpsessionlistener implements httpsessionlistener { @override public void sessioncreated(httpsessionevent httpsessionevent) { system.out.println("sessioncreated"); } @override public void sessiondestroyed(httpsessionevent httpsessionevent) { system.out.println("sessiondestroyed"); } }
注册方法:
servletcontexthandler.getsessionhandler().addeventlistener(new myhttpsessionlistener());
注意: 若整个请求中都没有用到session, 则不会生成它, 也不会调用listener
filter
当客户端请求数据时被调用
示例代码:
class myfilter implements filter { public myfilter() { } @override public void init(filterconfig filterconfig) throws servletexception { } @override public void dofilter(servletrequest servletrequest, servletresponse servletresponse, filterchain filterchain) throws ioexception, servletexception { if (servletrequest instanceof httpservletrequest) { httpservletrequest httprequest = (httpservletrequest) servletrequest; system.out.println(httprequest.getservletpath()); } filterchain.dofilter(servletrequest, servletresponse); } @override public void destroy() { } }
注册方法:
servletcontexthandler.addfilter(new filterholder(new myfilter()), "/*", enumset.allof(dispatchertype.class));
注意: 若请求的路径错误, 则不会触发filter
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问, 点击进行留言回复!!
(已解决)宝塔面板SSL失败|无法启动,提示 nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
JAVAWEB第六天——JQuery速成(2)【表单校验优化,美观可视化升级,Validation插件,省市二级联动升级】
Flutter Navigator路由,返回,替换路由及返回指定页面
springboot插入时间出现 at [Source: (PushbackInputStream); line: 9, column: 12]的问题。
网友评论