• 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里的方法。

  • 相关阅读:
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
  • 原文地址:https://www.cnblogs.com/honger/p/5847504.html
Copyright © 2020-2023  润新知