首页 > 代码库 > web-fragment模块化使用
web-fragment模块化使用
用eclipse右键new->other->web->web fragment project
确定后修改dynamic web project name为你要输出到的项目,当然可以手动将项目打包成jar文件添加到另一个web项目的lib下,也是一样的。
web fragment project:
web-fragment.xml
<?xml version="1.0" encoding="UTF-8"?><web-fragment id="WebFragment_ID" version="3.1" 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-fragment_3_1.xsd"><display-name>myFragmentTest</display-name> <name>myFragmentTest</name> <listener> <listener-class>com.listener.RequestListener</listener-class> </listener>
<!-- 设置web服务器对这个xml文件的读取顺序,一般在有多个web-fragment的时候会进行配置 -->
<ordering>
<before><others/></before>
</ordering>
</web-fragment>
requestListener.java
这是一个请求监听器,每当你访问一个页面时就会触发
package com.listener;import javax.servlet.ServletContext;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class RequestListener implements ServletRequestListener { @Override public void requestDestroyed(ServletRequestEvent event) { System.out.println("请求结束!"); } @Override public void requestInitialized(ServletRequestEvent event) { ServletContext application = event.getServletContext(); Integer count = (Integer) application.getAttribute("count"); if(null == count) { count = 0; application.setAttribute("count", count + 1); } else { application.setAttribute("count", count + 1); } System.out.println("请求的次数为:" + (count + 1)); }}
这就是另一个web项目
打包成jar的requestListener被加到了lib下
当web容器启动的时候会实例化这个jar包里定义的listener
当你请求一个页面的时候就会调用listener里的方法。
web-fragment模块化使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。