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

时间: 2024-11-23 01:41:00

web-fragment模块化使用的相关文章

Servlet 3.0 支持 web 组件模块化

模块化通俗的讲就是可以将一个包含多个子模块的web项目,可以拆分为一个web项目+多个java项目.每个java项目对应一个web子模块.每个子模块中包含运行该模块所需的完整资源,比如class,jsp,css,js等. 原文链接https://blog.csdn.net/changcongying/article/details/53018454 原文地址:https://www.cnblogs.com/Shunia123/p/10647650.html

Android Studio第十二期 - Activity+Fragment模块化管理方式

传值操作代码:  /**      * 刷新页面操作部分      *      * @param id1      * @param id2      */     private void SendToIndexCookBookFragment(String id1, String id2) { //        IndexFoodFragmentUpdateIds iff = new IndexFoodFragmentUpdateIds(); //        iff.setFood_

对Maven、gradle、svn、spring 3.0 fragment、git的想法

1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web  fragment. 从现实出发,特别是对于管理不到位,程序员整体素质不是那么高的开发团队,采用这种方式未必能发挥其优势和功效,反而会成为制约前进的一种方式. 2.Gradle 对于gradle我是相当喜欢和推崇.但推崇不能盲目,和Maven一样拥有中央仓库且支持多种仓库方式. 同样站在开发团队管理和日常开发效率.舒适度.方便程度角度出发,我建议采用gradle的ma

Spring官方文档翻译——15.1 介绍Spring Web MVC框架

Part V. The Web 文档的这一部分介绍了Spring框架对展现层的支持(尤其是基于web的展现层) Spring拥有自己的web框架--Spring Web MVC,在前两章中会有介绍.剩下的章节则用来介绍Spring和其他web技术的集成,比如Struts和JSF(这里只提两个). 本节以对Spring MVC portlet框架的介绍结尾. 第十五章--Web MVC框架(Web MVC framework) 第十六章--视图技术(View technologie) 第十七章--

Apache搭建Web主机(虚拟目录、分别基于IP地址、端口、主机名)

Apache介绍 Apache HTTP Server是一款开源的网站服务软件,在Web服务器领域中长期保持着超过半数的份额,Apache服务器可以运行在Linux.UNIX.Windows等多数操作系统平台中. Apache服务器在功能.性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求,其主要特点包括以下几个方面: 开放源代码 跨平台应用 支持各种Web编程语言 模块化设计 运行非常稳定 良好的安全性 构建虚拟Web主机 在同一台Apache服务器中运行多个We

Apache构建虚拟Web主机

Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额.Apache服务器可以运行在Linux.UNIX.Windows等多种操作系统平台中. Apache的主要特点: 开放源代码 跨平台应用 支持各种Web编程语言 模块化设计 运行非常稳定 良好的安全性 在同一台Apache服务器中运行多个web站点,其中的每一个站点实际上不会占用着整个服务器,通过虚拟web主机服务可以充分利用服务器的硬件资源,从

前端入门22-讲讲模块化

声明 本篇内容梳理自以下来源: Github:smyhvae/web JavaScript模块化开发的演进历程 JavaScript模块化七日谈 ES6:Module 的加载实现 CommonJS规范 感谢各位大佬的分享,解惑了很多. 正文-模块化 现在回过头来想想,也许选择以<JavaScript权威指南>一书来作为入门有些不好,因为这本书毕竟是很早之前的,书中所讲的思想.标准也基本都只是 ES5 及那时代的相关技术. 这也就导致了,在书中看到的很多例子,虽然觉得所用到的思想很奇妙,比如临时

JAVA web 框架集合

“框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还知道其他的吗? 留言你用过的web框架 Java开源web框架汇总 1 Struts2 Struts2是一个web应用框架.它不是一个Struts的新的发布版本,而是一个全新的框架.Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架. Struts

Tomcat(一):Tomcat启动时加载web.xml

server.xml配置文件样例: <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional inf