CN106599156B - 一种基于struts2拦截器的动态拦截器管理方法 - Google Patents
一种基于struts2拦截器的动态拦截器管理方法 Download PDFInfo
- Publication number
- CN106599156B CN106599156B CN201611118032.7A CN201611118032A CN106599156B CN 106599156 B CN106599156 B CN 106599156B CN 201611118032 A CN201611118032 A CN 201611118032A CN 106599156 B CN106599156 B CN 106599156B
- Authority
- CN
- China
- Prior art keywords
- blocker
- customized
- url
- web
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本发明涉及web项目领域,特别是一种基于struts2拦截器的动态拦截器管理方法。本发明首先创建一个struts2拦截器,用于执行自定义的拦截器组;拦截器组是自定义的一个具有多种属性的抽象类,包括优先级,拦截url;然后创建加载器模块,用于动态加载web项目,并在线动态更新拦截器组中的拦截器。通过自定义的动态拦截器,可以在线升级web项目中的拦截模块,提供web项目安全性和提供服务稳定性;方便扩展,提高开发人员的开发效率。
Description
技术领域
本发明涉及web应用领域,特别是一种基于struts2拦截器的动态拦截器管理方法。
背景技术
Web应用中,需要对接口进行一些公共的操作,例如参数校验,权限控制等等。一般是通过新建一个拦截器进行统一的处理。拦截器的使用过程中还是会有遇到以下的一些问题:
一是每增加一个拦截器,需要重新修改配置文件,增加对应的拦截器配置信息。
二是增加了拦截器后需要重启web应用,拦截器才能正常的执行拦截的工作。
发明内容
本发明解决的技术问题在于提供一种基于struts2拦截器的动态拦截器管理方法,解决了web应用在线更新,减少web应用的运维难度,提高web应用开发效率。
本发明解决上述技术问题的技术方案是:
所述的的方法具体包括以下步骤:
步骤1:创建一个struts2拦截器,并配置好对应的struts配置文件,web启动时,拦截器能正常运行;
步骤2:创建自定义的拦截器抽象类;
步骤3:根据步骤2的抽象类,实现具体的拦截逻辑;
步骤4:创建加载模块,自动扫描web项目下特定包路径下的文件加载到内存;
步骤5:启动web项目,加载模块加载所有自定义拦截器到内存中;
步骤6:调用web应用接口,拦截器的调用模块获取内存中所有自定义拦截器,并根据优先级排序;
步骤7:循环每个拦截器,根据接口url判断是否匹配自定义拦截器url,若匹配,执行步骤8,否则执行步骤9;
步骤8:执行拦截器逻辑,若执行通过,返回true,否则抛错;
步骤9:执行原有接口逻辑,返回给用户;
步骤10:判断接口是否更新拦截器,若是执行步骤11,否则,执行步骤12;
步骤11:加载模块扫描指定包路径下文件,加载到内存中;
步骤12:结束。
所述的拦截逻辑是当需要拦截的接口url为*时拦截所有的接口。
所述的加载模块在web项目启动时执行,扫描指定包路径下的代码文件,判断是否自定义拦截器的实现类,若是则添加到内存中,否则,继续扫描;
首次加载完后,接口调用更新时,调用加载模块,对特定包路径代码文件扫描更新;更新前不会影响原来在内存中的拦截器;在更新时保证web应用能正常的运作、提供服务。
所述的优先级,是自定义的拦截器的属性,优先级为0,代表优先级最小,数字越大,优先级越大,先执行优先级高的拦截器。
拦截器中配置需要拦截的url,当匹配到正确的url才进行拦截,其余的直接返回;当配置为*时,拦截所有的url。
本发明解决了解决了web应用在线更新,解决了web应用在线更新,提高web应用开发效率。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明方法拦截器工作流程图。
具体实施方法
如图1所示,本发明首先启动web应用,加载代码中拦截器实现类,实现类再进行工作:
创建自定义的拦截器
添加自定义的拦截器模板
Web应用启动时候扫描特定包中实现代码添加到内存中
Claims (7)
1.一种基于struts2拦截器的动态拦截器管理方法,其特征在于:所述的方法具体包括以下步骤:
步骤1:创建一个struts2拦截器,并配置好对应的struts配置文件,web启动时,拦截器能正常运行;
步骤2:创建自定义的拦截器抽象类;
步骤3:根据步骤2的抽象类,实现具体的拦截逻辑;
步骤4:创建加载模块,自动扫描web项目下特定包路径下的文件加载到内存;
步骤5:启动web项目,加载模块加载所有自定义拦截器到内存中;
步骤6:调用web应用接口,拦截器的调用模块获取内存中所有自定义拦截器,并根据优先级排序;
步骤7:循环每个拦截器,根据接口url判断是否匹配自定义拦截器url,若匹配,执行步骤8,否则执行步骤9;
步骤8:执行拦截器的拦截逻辑,若执行通过,返回true,否则抛错;
步骤9:执行原有接口逻辑,返回给用户;
步骤10:判断接口是否更新拦截器,若是执行步骤11,否则,执行步骤12;
步骤11:加载模块扫描指定包路径下文件,加载到内存中;
步骤12:结束。
2.根据权利要求1所述的方法,其特征在于:所述的拦截逻辑是当需要拦截的接口url为*时拦截所有的接口。
3.根据权利要求1所述的方法,其特征在于:所述的加载模块在web项目启动时执行,扫描指定包路径下的代码文件,判断是否自定义拦截器的实现类,若是则添加到内存中,否则,继续扫描;
首次加载完后,接口调用更新时,调用加载模块,对特定包路径代码文件扫描更新;更新前不会影响原来在内存中的拦截器;在更新时保证web应用能正常的运作、提供服务。
4.根据权利要求2所述的方法,其特征在于:所述的加载模块在web项目启动时执行,扫描指定包路径下的代码文件,判断是否自定义拦截器的实现类,若是则添加到内存中,否则,继续扫描;
首次加载完后,接口调用更新时,调用加载模块,对特定包路径代码文件扫描更新;更新前不会影响原来在内存中的拦截器;在更新时保证web应用能正常的运作、提供服务。
5.根据权利要求1至4任一项所述的方法,其特征在于:所述的优先级,是自定义的拦截器的属性,优先级为0,代表优先级最小,数字越大,优先级越大,先执行优先级高的拦截器。
6.根据权利要求1至4任一项所述的方法,其特征在于:拦截器中配置需要拦截的url,当匹配到正确的url才进行拦截,其余的直接返回;当配置为*时,拦截所有的url。
7.根据权利要求5所述的方法,其特征在于:拦截器中配置需要拦截的url,当匹配到正确的url才进行拦截,其余的直接返回;当配置为*时,拦截所有的url。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611118032.7A CN106599156B (zh) | 2016-12-07 | 2016-12-07 | 一种基于struts2拦截器的动态拦截器管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611118032.7A CN106599156B (zh) | 2016-12-07 | 2016-12-07 | 一种基于struts2拦截器的动态拦截器管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106599156A CN106599156A (zh) | 2017-04-26 |
CN106599156B true CN106599156B (zh) | 2019-05-21 |
Family
ID=58596248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611118032.7A Active CN106599156B (zh) | 2016-12-07 | 2016-12-07 | 一种基于struts2拦截器的动态拦截器管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599156B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107894896A (zh) * | 2017-11-16 | 2018-04-10 | 青岛海信电器股份有限公司 | 一种远程协助的自动升级方法及设备 |
CN109286610B (zh) * | 2018-08-23 | 2022-02-25 | 北京城市网邻信息技术有限公司 | 服务拦截装置、方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567534A (zh) * | 2011-12-31 | 2012-07-11 | 凤凰在线(北京)信息技术有限公司 | 互动产品用户生成内容拦截系统及其拦截方法 |
CN104270403A (zh) * | 2014-09-01 | 2015-01-07 | 江苏西贝电子网络有限公司 | 基于struts2框架的云平台信息web监控系统 |
CN103150155B (zh) * | 2011-12-07 | 2016-08-03 | 金蝶软件(中国)有限公司 | 数据拦截方法和装置 |
CN106055385A (zh) * | 2016-06-06 | 2016-10-26 | 四川大学 | 监控虚拟机进程的系统和方法、过滤page fault异常的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785459B2 (en) * | 2011-08-22 | 2017-10-10 | Red Hat Israel, Ltd. | Managed network filter/forward programming in a virtualization system by an agent more privileged than the hypervisor |
-
2016
- 2016-12-07 CN CN201611118032.7A patent/CN106599156B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150155B (zh) * | 2011-12-07 | 2016-08-03 | 金蝶软件(中国)有限公司 | 数据拦截方法和装置 |
CN102567534A (zh) * | 2011-12-31 | 2012-07-11 | 凤凰在线(北京)信息技术有限公司 | 互动产品用户生成内容拦截系统及其拦截方法 |
CN104270403A (zh) * | 2014-09-01 | 2015-01-07 | 江苏西贝电子网络有限公司 | 基于struts2框架的云平台信息web监控系统 |
CN106055385A (zh) * | 2016-06-06 | 2016-10-26 | 四川大学 | 监控虚拟机进程的系统和方法、过滤page fault异常的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106599156A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979508B (zh) | 微服务测试方法及装置 | |
US9286189B2 (en) | Self-evolving computing service template translation | |
US20180165071A1 (en) | Post-deployment modification of information-technology application using lifecycle blueprint | |
RU2734023C1 (ru) | Способы для определения дескриптора (nsd) сетевой службы для сетевой службы (ns) и оркестратор (nfvo) виртуализации сетевых функций (nfv), использующий упомянутый дескриптор nsd | |
CN105164660A (zh) | 基于云的服务设计承继 | |
CN106599156B (zh) | 一种基于struts2拦截器的动态拦截器管理方法 | |
CN111801731B (zh) | 语音控制方法、语音控制装置以及计算机可执行非易失性存储介质 | |
CN114780080A (zh) | 一种微前端集成方法、装置及监控方法 | |
CN107301347A (zh) | 一种基于静态分析获取Hbuilder App调用图的方法 | |
CN111209052A (zh) | 一种应用启动的方法及系统 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
CN110262782A (zh) | 软件系统的接口比对方法和装置 | |
CN109783159A (zh) | 基于配置信息的应用启动方法和装置 | |
CN113518341B (zh) | 一种eSIM码号管理方法及装置 | |
CN109324856A (zh) | 菜单处理方法、装置、计算机设备及存储介质 | |
CN107547217B (zh) | 路由器业务配置方法及路由器 | |
CN111813836A (zh) | 一种提高Ethereum区块链系统扩展性的方法 | |
CN109660379B (zh) | 一种网络方法和系统、及终端 | |
CN107015787B (zh) | 一种交互式应用框架设计的方法及装置 | |
CN114493493A (zh) | 决策引擎及决策引擎实现方法 | |
CN109189718A (zh) | 一种支持多种网络接口的套接字组件及方法 | |
CN108595292A (zh) | 一种系统的优化方法、移动终端及计算机存储介质 | |
CN110505151B (zh) | 流量转发方法、装置、设备及存储介质 | |
US10657476B2 (en) | Just in time compilation (JIT) for business process execution | |
KR102156656B1 (ko) | 가상머신 스택 생성 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-Cloud Technology Co., Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Applicant before: G-Cloud Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |