CN101276271A - Method and interceptor system facing to tangent plane programming - Google Patents
Method and interceptor system facing to tangent plane programming Download PDFInfo
- Publication number
- CN101276271A CN101276271A CNA2007100649267A CN200710064926A CN101276271A CN 101276271 A CN101276271 A CN 101276271A CN A2007100649267 A CNA2007100649267 A CN A2007100649267A CN 200710064926 A CN200710064926 A CN 200710064926A CN 101276271 A CN101276271 A CN 101276271A
- Authority
- CN
- China
- Prior art keywords
- blocker
- struts
- interface
- class
- interceptor
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
The present invention provides an interceptor system of an aspect oriented programming and its method, including mounting an interceptor interface operated under Struts frame, realizing the interceptor class based on the interface; configuring a configuration file structure of the interceptor, and configuring the interceptor in the interceptor configuration file to the corresponding execution path; reading the configuration file when Struts starts initialization, analyzing the interceptor configured in the configuration file, and processing initialization; when the client accesses the network, the server terminal acquires the interceptor when calling Struts Action class or DispatchAction class accordind to the path, executing the corresponding interceptor method, realizing the interception of the aspect Oriented programming under Struts frame. The interception of the class and the interception of the realizing method of each class have excellent practicality.
Description
Technical field
The present invention relates to the computer system development field, particularly relate to computing machine J2EE enterprise application system development field, specifically relate to a kind of interceptor system and method under Struts towards tangent plane programming (AOP).
Background technology
J2EE, Java 2 Platform Enterprise Edition (Java 2 Platform Enterprise Edition) is that Sun Microsystems is the standard software system development platform that enterprise-level application is released.And along with the development of Java technology, the J2EE platform has obtained development rapidly, becomes one of most active system in the Java language.Nowadays, J2EE not only is meant a kind of standard platform (Platform), and she is more expressing a kind of software system architecture and software systems programmed method.
J2EE enterprise-level Web application development system framework has Development Framework such as Struts, Webwork, JSF, Tapestry.
Wherein, the Struts system framework is the enterprise-level Web application development system framework of open source code, and purpose is to alleviate the burden that the structure enterprise Web is used on the whole.And the presentation layer of J2EE generally is to write with Struts component system framework, and it is present the most frequently used enterprise-level Web application development system framework.
The Struts system framework is based on the J2EE application development platform of Model 2 Design Modes.Model 2 systems are a kind of in MVC (Model-View-Controller) system.In the MVC system, data model (Model), performance logic (View) are the assemblies that separates with steering logic (Controller), but they can mutual communication, and the Struts system framework is positioned at the J2EE application development system framework based on Model 2 Design Modes just.
But than other J2EE enterprise-level Web application development system framework, as Webwork etc., the Struts system framework is not realized the programming (AOP) towards tangent plane under the situation of acquiescence.
Towards tangent plane programming (Aspect Oriented Programming, AOP) the main purpose that realizes is to extract at the tangent plane in the business processing process, it is in the face of certain step stage in the processing procedure, to obtain to hang down between the each several part in the logical process isolation effect of coupling.For example modal log record need provide an inquiry student information service now, and whom records has carried out this inquiry.If realize according to traditional programming mode, that has at first realized service interface (StudentInfoService.java) and its realization class (StudentInfoServiceImpl.java) of an inquiry student information, in order to carry out record, in realizing class (StudentInfoServiceImpl.java), add the process that realizes record then.Like this, if that the service that realizes has is a plurality of, then to all add these recording process in the class of each realization.This implementation is very loaded down with trivial details, and each realize class all with the behavior tight coupling of record service daily record, violated OO rule.And in order to realize that the log record service separates with the business processing process, the service of inquiry student information is normally carried out, then people carry out record separately with the log record behavior, other business processing do not know to exist these log record process as the service of inquiry student information, and Here it is towards the programming (AOP) of tangent plane.Towards the programming of tangent plane, exactly the function of certain aspect is put forward to isolate with a collection of object, reduced coupling like this and between a collection of object, can programme with regard to certain function.
Can use a proxy class (Proxy) towards tangent plane programming (AOP), also add the function that needs by the behavior of tackling an object and finish, promptly hold-up interception method just towards the hold-up interception method of tangent plane programming, also is blocker.
The Struts system framework do not realize realizing towards tangent plane programming (AOP) under default situations, and this compares with Development Framework such as WebWork and has defective.Therefore, in the existing technology, write SAIF (Struts Action Invocation Framework), can on the Struts system framework, realize towards tangent plane programming (AOP) by Lars Hoss and Don Brown.
But, the function that SAIF realizes seldom, it generally can only realize the interception of the most basic class on the Struts system framework, promptly can only tackle at a class (as the Action class) or a plurality of class, can not realize the implementation method of each class the inside is tackled (being method level blocker), its practicality is poor.
Summary of the invention
The object of the present invention is to provide a kind of interceptor system and method towards tangent plane programming, it realizes in Struts application development system framework towards tangent plane programming (AOP) comprehensively, the interception (method level blocker) of implementation method has good practicability in the interception (class level blocker) of realization class and the class.
For a kind of interceptor system of realizing that the object of the invention provides towards tangent plane programming, under Struts application development system framework, realize, comprise interface module, the blocker configuration module, wherein:
Interface module is used to be provided with the blocker interface under the Struts framework, realizes the blocker class based on this interface;
The blocker interface is generally realized the blocker class based on this interface, can carry out the method that defines when calling blocker in interface;
The blocker configuration module is used to dispose the configuration file of blocker, blocker is configured in the corresponding execution route goes.
Described interceptor system towards tangent plane programming can also comprise read module and execution module, wherein:
Read module when Struts starts initialization, reads configuration file, resolves the blocker that obtains disposing in the configuration file, and initialization;
Execution module is used for calling Struts Action or DispatchAction class according to the path when the client-access website, obtains the blocker of path correspondence, uses corresponding blocker interface, is implemented under the Struts framework interception towards tangent plane programming.
Described interceptor system towards tangent plane programming in the described interface module, can also comprise the blocker administration module, is used for the bean in the configuration file configuration blocker class correspondence of Spring container, is implemented in unified management blocker object in the Spring container.
Described interceptor system towards tangent plane programming, in the described read module, can further include the Struts card module, before being used under the struts framework, calling Struts Action class or DispatchAction class when Web application start (general), add the blocker configuration module in the Struts configuration file, the mode with plug-in unit in the Struts configuration file disposes up;
When described read module starts initialization at Struts, read configuration file by Struts plug-in unit class.
For realizing that the object of the invention also provides a kind of hold-up interception method towards tangent plane programming, comprise the following steps:
Steps A is provided with the blocker interface under the Struts framework, realizes the blocker class based on this interface;
Step B, the configuration file structure of configuration blocker, and blocker is configured in the corresponding execution route goes, can reading face when being implemented in initialization under the Struts framework to the method level blocker of tangent plane programming.
Can also comprise the following steps: after the described hold-up interception method, described step B towards tangent plane programming
Step C when Struts starts initialization, reads configuration file, resolves the blocker that obtains disposing in the configuration file, and initialization;
Step D, when the client-access website, server end Servlet container calls StrutsAction class or DispatchAction class according to the path, obtains the blocker of path correspondence, use corresponding blocker interface, be implemented under the Struts framework interception towards tangent plane programming.
Described steps A also comprises the following steps:
Bean in the configuration file of Spring container configuration blocker class correspondence is implemented in unified management blocker object in the Spring container.
Reading configuration file among the described step C is finished by Struts plug-in unit class.
Described step C can comprise the following steps:
Step C1 adopts the Diggester instrument that the xml configuration file is read in, and produces the Java object;
Step C2, the interception configurator of resolution path will dispose respectively and extract, and the blocker stack is replaced corresponding a collection of blocker;
Step C3, the blocker of the default blocker appointment of adding in the interception configurator in each path;
Step C4, the blocker of appointment in the default blocker that eliminating is excluded in the interception configurator in each path;
Step C5 judges whether the configuration blocker will be carried out in order, if being configured to that the interception configurator is carried out in order in the configuration is true, then blocker in the interception configurator in each path is sorted, otherwise directly returns.
Among the described step D, use the blocker interface, be implemented under the struts framework, can comprise the following steps: towards the interception of tangent plane programming
Step D1 carries out the preceding blocker interface in the blocker;
Step D2 judges whether rreturn value is empty, if be not empty, then expression finishes, and blocker obtains the result, and intercept process finishes, and forwards step D6 to;
Step D3 if be empty, then carries out Struts Action or DispatchAction object class method, normally carries out the Struts program;
Step D4 if throw unusually, when abnormal conditions occurring in carrying out Struts Action or DispatchAction object class procedure, then carries out the abnormality processing blocker interface in the blocker, and then, intercept process finishes, and forwards step D6 to;
Step D5, otherwise, normally carry out the Struts program after, carry out the back blocker interface in the blocker;
Step D6 will tackle or execution result is sent.
Described interface comprises preceding blocker interface, back blocker interface and/or abnormality processing blocker interface.
Described blocker comprises a kind of in control of authority blocker, data verification blocker, log record blocker and the abnormality processing blocker or more than one combination.
The invention has the beneficial effects as follows: interceptor system and method towards tangent plane programming (AOP) of the present invention, it is the interception of implementation method level under Struts application development system framework, it not only supports Struts Action class, also support Struts DispatchAction class, support Struts 1.X complete series version.And, the present invention also utilizes the Spring container to come unified management blocker object, the Spring container unified management blocker that provides by SpringFramework (Spring framework), make that the program code Function Decomposition is clear, easier to be maintained, and support to carry out blocker by specified order, thereby in the Struts Development Framework, realize towards tangent plane programming comprehensively, realize the interception (class level blocker) of class by Struts Action class, interception (method level blocker) by StrutsDispatchAction class implementation method level has good practicability.
Description of drawings
Fig. 1 is the interceptor system structural representation of the present invention towards tangent plane programming (AOP);
Fig. 2 is the hold-up interception method process flow diagram of the present invention towards tangent plane programming (AOP);
Fig. 3 is for reading configuration file and initialization procedure process flow diagram;
Fig. 4 is for using the blocker interface, is implemented under the Struts framework towards the process of the interception of tangent plane programming (AOP).
Embodiment
In order to make purpose of the present invention, technical scheme and advantage clearer,, a kind of interceptor system and method towards tangent plane programming of the present invention is further elaborated below in conjunction with drawings and Examples.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
Interceptor system and method towards tangent plane programming of the present invention are to be implemented under the Struts application development system framework 11 method level blocker.It is when the client-access web station system, call relevant Struts Action class or DispatchAction time-like at the Servlet of server end container according to the path, use interceptor system of the present invention and method, realization is operated in the method level interception among the Struts 1.x, and promptly the method level under the Struts1.X realizes towards tangent plane programming (AOP).
For blocker and the method towards tangent plane programming under the Struts of the present invention is described, the Struts system is described at first.
The target of Struts application development system framework 11 is to provide a powerful framework for Model 2Web application and development.Struts application development system framework 11 can be hidden web access intrinsic " confusion ", helps the developer to set up clear and clear and definite order and rule.Typical Struts application development system framework 11 will be used three kinds of configuration file: web.xml, struts-config.xml and optional application resource file.
Web.xml is the standard configuration file that Web uses, and is that all J2EE web use essential ingredient.Application server is mapped to Servlet server and JSP (JavaServer Pages, a kind of dynamic web page technique standard) to URL by this configuration file, is that Servlet server and JSP specify start-up parameter by this configuration file.The web.xml file that provides for Struts application development system framework 11 is very simple, the real essential main ActionServlet quasi-controller (Controller) that has only defines, and one is guaranteed that the Struts request is delivered to the mapping of ActionServlet quasi-controller.Usually, the URL (Uniform Resoure Locator, uniform resource locator) that ends up with " .do " is the Struts request, for example/and login.do.Mapping in the Servlet server by utilizing web.xml file passes to the ActionServlet quasi-controller to this request.Then, how the decision of ActionServlet quasi-controller distributes this request.And the decision of ActionServlet quasi-controller foundation is the method logic that defines among the Struts-config.xml, and/or is the assignment logic by the extra definition of ActionServlet derived class.
Struts-config.xml is called the Struts configuration file.Struts application development system framework 11 is systems that rely on struts-config.xml file handle component to couple together.The struts-config.xml file logical name that has been the component definition used of Web has also defined their attribute and relations under the Struts framework, just as web.xml file definitions component within the Web application framework.Usually, the struts-config.xml file has comprised the application message relevant with the Struts framework, comprises data source information, Form Bean information, Global Forwards information and Actions information.Wherein, the Action information definition request assignment information of Struts application system, they are complementary definitions of core divider, be responsible for to handle various concrete request types.
The basic working modes that Struts uses is: main distributor ActionServlet quasi-controller calls an action divider, the action divider is determined or is constructed Model part (JavaBean or other Java objects), and it is offered View (normally JSP page).
As shown in Figure 1, the interceptor system towards tangent plane programming of the present invention is Struts application development system framework 11 times, comprises interface module 21, blocker configuration module 22, and read module 23 and execution module 24, wherein:
The preceding blocker interface (beforeAction) that can be read, back blocker interface (afterAction) and abnormality processing blocker interface (throwsAction) by giving a definition at the struts framework.Utilize this interface to be implemented in interface blocker class under the struts framework.
Described blocker can be divided into control of authority blocker 32, data verification blocker 33, log record blocker 34, abnormality processing blocker 35 etc.
Control of authority blocker 32 is used to judge whether the user has the authority of visit respective path, if there is authority then to return null value (null); If then do not turn back to the wrong page.It is generally realized by blocker (beforeAction) interface before the operation.
Read module 23 when Struts starts initialization, reads configuration file struts-interceptor.xml by Struts plug-in unit class, resolves the blocker that obtains disposing in the configuration file, and initialization.
Preferably, interceptor system towards tangent plane programming of the present invention in interface module 21, also comprises blocker administration module 31, be used for bean, be implemented in unified management blocker object in the Spring container in the configuration file configuration blocker class correspondence of Spring container.
More preferably, described interceptor system towards tangent plane programming, in read module 23, also comprise the Struts card module, before being used under the struts framework, calling Struts Action class or DispatchAction class, in the Struts configuration file, add blocker configuration module 22, as Struts configuration file plug-in unit, make under the struts framework, call Struts Action class or DispatchAction class before, be configured to the blocker configuration file in the corresponding path and reside in the system, blocker of no longer every execution must at first be carried out the blocker module.
Need to prove especially, when with the Struts card module in the read module 23 with the blocker module as Struts configuration file plug-in unit the time, no longer call blocker configuration module 22 when then under by interface module 21 configuration struts frameworks, calling each method in Struts Action class or the DispatchAction class, the blocker in the blocker configuration file is configured in the corresponding execution route goes.
Interceptor system towards tangent plane programming of the present invention at first is arranged on the blocker interface that moves under the struts framework; Realize the blocker class based on this interface again; Utilize blocker administration module 31 in interface module 21 at the bean of the configuration file of Spring container configuration blocker class correspondence then, be implemented in unified management blocker object in the Spring container; Then, according to the structure of blocker configuration file, in configuration file, blocker is configured in the corresponding execution route and goes.
, when read module 23 at Struts start initialization, by Struts plug-in unit class read configuration file struts-interceptor.xml, resolve the blocker that obtains disposing in the configuration file thereafter, and initialization.
At last, execution module 24 is when the client-access website, server end Servlet container calls relevant Struts Action or DispatchAction class according to the path, uses blocker, is implemented under the Struts framework interception towards tangent plane programming (AOP).
As shown in Figure 2, describe 11 hold-up interception methods under the Struts application development system framework of the present invention below in detail based on tangent plane programming:
Step S100 is arranged under the struts framework blocker interface of operation, realizes the blocker class based on this interface, promptly utilizes this interface to be implemented in interface blocker class under the struts framework;
In general 3 processing procedures are arranged during the method for allocating object, the first step is to begin to call, second step was that value is returned, if the corresponding exception handling procedure that just has of dishing out is unusually arranged in addition, correspondence has just had preceding hold-up interception method, afterwards hold-up interception method and abnormality processing hold-up interception method.
Therefore, at first be arranged on preceding blocker interface (beforeAction), back blocker interface (afterAction) and the abnormality processing blocker interface (throwsAction) that can be read under the struts framework.Parameter in the interface is corresponding to the parameter in the execute () method among the Struts Action.
The blocker interface code is achieved as follows:
public?interface?ActionInterceptor{
/**
* preceding blocker interface
* @param action is blocked the Action example of device interception
* the ActionMapping object of @param mapping access path correspondence
* the list of @param form path correspondence is not if having corresponding list then be null
* the object that sends of @param request client browser
* @param response sends back to the object of client browser
* the return path of @return correspondence in Struts
*/
public?ActionForward?beforeAction(Action?action,ActionMapping?mapping,
ActionForm?form,HttpServletRequest?request,
HttpServletResponse?response)throws?Exception;
/**
* interface is tackled in the back
* @param action is blocked the Action example of device interception
* the ActionMapping object of @param mapping access path correspondence
* the list of @param form path correspondence is not if having corresponding list then be null
* the object that sends of @param request client browser
* @param response sends back to the object of client browser
* the return path of @return correspondence in Struts
*/
public?ActionForward?afterAction(Action?action,ActionMapping?mapping,
ActionForm?form,HttpServletRequest?request,
HttpServletResponse?response)throws?Exception;
/**
* abnormality processing blocker interface
* @param action is blocked the Action example of device interception
* the ActionMapping object of @param mapping access path correspondence
* the list of @param form path correspondence is not if having corresponding list then be null
* the object that sends of @param request client browser
* @param response sends back to the object of client browser
What * @param e dished out is unusual
* the return path of @return correspondence in Struts
*/
public?ActionForward?throwsAction(Action?action,ActionMapping?mapping,
ActionForm?form,HttpServletRequest?request,
HttpServletResponse?response,Exception?e)throws?Exception;
}
Then, utilize this interface to be implemented in interface blocker class under the struts framework.
Blocker generally all uses the agency to realize, the present invention also uses proxy class to realize that its class is called InterceptorActionProxy.The org.springframework.web.struts.DelegatingActionProxy that is based on Springframework (Spring framework) realizes, the org.springframework.web.struts.DelegatingActionProxy class of Springframework provides the function of using Sping Container Management Struts Action, and the InterceptorActionProxy class has increased the function of removing to search and carry out relevant blocker according to configuration file on its basis.
The effect of the proxy class InterceptorActionProxy class of Struts Action or DispatchAction is: when a certain path, user capture website, Struts is at the Action class of calling the path correspondence or DispatchAction time-like, what call in fact earlier is this type of, carry out execute method wherein when calling, in this method, call the blocker configuration file and read the blocker that class is obtained the path correspondence, carry out the correlation technique in the blocker class and call real Struts Action of operation or DispatchAction, and return according to the result that both call.
The main code of InterceptorActionProxy class is as follows:
public?class?InterceptorActionProxy?extends?DelegatingActionProxy{
/**
*Pass?the?execute?call?on?to?the?Spring-managed?delegate?Action.
*
*@see
org.springframework.web.struts.DelegatingActionProxy#getDelegateAction
*/
public?ActionForward?execute(ActionMapping?mapping,ActionForm?form,
HttpServletRequest?request,HttpServletResponse?response)
throws?Exception{
// to obtain the access path prefix be module name
String?module=mapping.getModuleConfig().getPrefix();
// if module is a null value, then be the acquiescence module
if(module==null){
module=″″;
}
// obtain corresponding Spring container according to module to quote
WebApplicationContext?wac=getWebApplicationContext(getServlet(),
mapping.getModuleConfig());
// obtain and act on behalf of target class
Action?delegateAction=getDelegateAction(mapping);
ActionForward?forward=null;
ActionInterceptor[]interceptorArray=null;
try{
// call configuration file to read class, search the relevant blocker of this mapping
interceptorArray=InterceptorConfig.getInterceptorArray(module,
request,wac);
}catch(Exception?e){
}
// obtain blocker quantity
int?size=interceptorArray.length;
if(size>0){
for(int?i=0;i<size;i++){
try{
// carry out the preceding hold-up interception method in all blockers, if be provided with order then will carry out in order
forward=interceptorArray[i].beforeAction(delegateAction,
mapping,form,request,response);
if(forward!=null){
Return forward; If // rreturn value is not empty, then no longer carry out the code of back
Directly return
}
}catch(Exception?e){
If occurred in // the implementation unusually, and be ModuleException, it is unusual then to dish out
if(e?instanceof?ModuleException){
throw?e;
}
Continue; // if that dish out is not ModuleException, then ignore
}
try{
Correlation technique among the // execution Struts Action
forward=delegateAction.execute(mapping,form,request,
response);
}catch(Exception?e){
// then handle if not the ModuleException type
if(e?instanceof?ModuleException){
throw?e;
}else{
for(int?i=0;i<size;i++){
// carry out the abnormality processing hold-up interception method in all blockers, if be provided with order then will be in order
Carry out
forward=interceptorArray[i].throwsAction(
delegateAction,mapping,form,request,
response,e);
if(forward!=null){
Return forward; If // rreturn value is not empty, then no longer carry out the back
Code directly returns
}
}
// dish out unusually untreated, give container and handle, be used for debugging
throw?e;
}
}
ActionForward?afterForward=null;
for(int?i=0;i<size;i++){
try{
// carry out the back hold-up interception method in all blockers, if be provided with order then will carry out in order
afterForward=interceptorArray[i].afterAction(
delegateAction,mapping,form,request,response);
if(afterForward!=null){
Return afterForward; If // rreturn value is not empty, then no longer carry out the back
Code directly returns
}
}catch(Exception?e){
if(e?instanceof?ModuleException){
Throw e; If occurred in // the implementation unusually, and be
ModuleException, it is unusual then to dish out
}
Continue; // if that dish out is not ModuleException, then ignore
}
}
}else{
forward=delegateAction.execute(mapping,form,request,response);//
If blocker quantity is 0, then directly carry out corresponding Action
}
return?forward;
}
}
Further, the bean in the configuration file of Spring container configuration blocker class correspondence is implemented in unified management blocker object in the Spring container.
The core of Springframework (Spring framework) is IoC (Inversion of Control, control counter-rotating) and AOP.
IoC is a kind of Design Mode.The IoC pattern has further reduced the degree of coupling between the class, and has changed the creation method of traditional object, has realized a kind of Object Management group mode of collocation type, is responsible for the management of the object of configuration property in the Spring framework by the IoC container.The IoC pattern has improved the dirigibility of system development and maintenance greatly.
Struts Action and blocker can be configured in the Spring configuration file by the Spring configuration file, SpringFramework will create these objects automatically and relevant dependence is set like this.
Spring configuration sample is as follows:
<! The blocker of a setUserAdminFlagInterceptor by name of-configuration--〉
<bean id=″setUserAdminFlagInterceptor″
class=″com.bupticet.local.user_admin.web.interceptor.SetUserAdminFlagInterceptor″/>
<! The blocker of a deleteUploadFileAllowSelfAndAdminInterceptor by name of-configuration, its
Rely on the userAdminManager object--〉
<bean id=″deleteUploadFileAllowSelfAndAdminInterceptor″
class=″com.bupticet.local.user_admin.web.interceptor.DeleteUploadFileAllowSelfAndAd
minInterceptor″>
<property?name=″userAdminManager″>
<ref?local=″userAdminManager″/>
</property>
</bean>
Preferably, described proxy class is based on the class of org.springframework.web.struts.DelegatingActionProxy among the Spring Framework.
Step S200, the configuration file structure struts-interceptor.xml of configuration blocker, and the blocker in the blocker configuration file be configured in the corresponding execution route go, can reading face when being implemented in initialization under the Struts framework to the method level blocker of tangent plane programming;
Under Struts application development system framework 11, this blocker can be read when starting initialization by the configuration file struts-config.xml in the Struts framework.
Blocker configuration file structure comprises four parts:
First part of ★ is the config section, is used for interceptor system is carried out functional configuration;
The ★ second portion is the default-interceptors section, is used for disposing the blocker that acquiescence will be used in this module;
The ★ third part is the interceptor-stacks section, with blocker stack in a collection of blocker configuration, uses when disposing blocker in batch with convenience;
★ the 4th part then is the action-interceptors section, is used for the Action of specified path and method is carried out the blocker configuration, once can dispose a blocker, also can dispose the blocker stack, also can dispose the blocker of getting rid of acquiescence in addition.
Below be to use Diggester to read the main code of blocker configuration file:
/**
* add Digester Rules
*
*@param?d
*/
private?static?void?addDigesterRules(Digester?d){
// read the struts-interceptor/config/order-interceptor configuration section
d.addObjectCreate(″struts-interceptor/config/order-interceptor″,
OrderInterceptorModel.class); The object of // establishment configuration section correspondence (down together)
D.addSetProperties (" struts-interceptor/config/order-interceptor "); // in object
The setting of the attribute correspondence among the XML is entered (down together)
d.addSetNext(″struts-interceptor/config/order-interceptor″,
" setOrderInterceptor "); // method carried out when adding next object (down with) is set
// read struts-interceptor/default-interceptors/default-intercep tor configuration section
d.addObjectCreate(
″struts-interceptor/default-interceptors/default-interceptor″.
DefaultInterceptorModel.class);
d
.addSetProperties(″struts-interceptor/default-interceptors/default-interceptor″);
d.addSetNext(
″struts-interceptor/default-interceptors/default-interceptor″,
″addDefaultInterceptor″);
// read the struts-interceptor/interceptor-stacks/interceptor-stack configuration section
d.addObjectCreate(
″struts-interceptor/interceptor-stacks/interceptor-stack″,
InterceptorStackModel.class);
d
.addSetProperties(″struts-interceptor/interceptor-stacks/interceptor-stack″);
d.addSetNext(″struts-interceptor/interceptor-stacks/interceptor-stack″,
″addInterceptorStackModel″);
// read struts-interceptor/interceptor-stacks/interceptor-stack/ interceptor-ref configuration section
d
.addObjectCreate(
″struts-interceptor/interceptor-stacks/interceptor-stack/interceptor-ref″,
InterceptorRefModel.class);
d
.addSetProperties(″struts-interceptor/interceptor-stacks/interceptor-stack/interce
ptor-ref″);
d
.addSetNext(
″struts-interceptor/interceptor-stacks/interceptor-stack/interceptor-ref″,
″addInterceptorRef″);
// read the struts-interceptor/action-interceptors/action configuration section
d.addObjectCreate(″struts-interceptor/action-interceptors/action″,
ActionModel.class);
d.addSetProperties(″struts-interceptor/action-interceptors/action″);
d.addSetNext(″struts-interceptor/action-interceptors/action″,
″addAction″);
// read struts-interceptor/action-interceptors/action/exclude-de fault configuration section
d
.addObjectCreate(
″struts-interceptor/action-interceptors/action/exclude-default″,
ExcludeDefaultModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/exclude-default″);
d
.addSetNext(
″struts-interceptor/action-interceptors/action/exclude-default″,
″setExcludeDefault″);
// read struts-interceptor/action-interceptors/action/exclude-de fault/exclude configuration section
d
.addObjectCreate(
″struts-interceptor/action-interceptors/action/exclude-default/exclude″,
ExcludeModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/exclude-default/e
xclude″);
d
.addSetNext(
″struts-interceptor/action-interceptors/action/exclude-default/exclude″,
″addExclude″);
// read the struts-interceptor/action-interceptors/action/method configuration section
d.addObjectCreate(
″struts-interceptor/action-intercaptors/action/method″,
MethodModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/method″);
d.addSetNext(″struts-interceptor/action-interceptors/action/method″,
″addMothod″);
// read struts-interceptor/action-interceptors/action/method/exc lude-default configuration section
d
.addObjectCreate(
″struts-interceptor/action-interceptors/action/method/exclude-default″,
ExcludeDefaultModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/method/exclude-
default″);
d
.addSetNext(
″struts-interceptor/action-interceptors/action/method/exclude-default″,
″setExcludeDefault″);
// read struts-interceptor/action-interceptors/action/method/exc lude-default/exclude configuration section
d
.addObjectCreate(
″struts-interceptor/action-interceptors/action/method/exclude-default/exclude″,
ExcludeModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/method/exclude-
default/exclude″);
d
.addSetNext(
″struts-interceptor/action-interceptors/action/method/exclude-default/exclude″,
″addExclude″);
// read struts-interceptor/action-interceptors/action/method/int erceptor-ref configuration section
d
.addObjectCreate(
″struts-interceptor/action-interceptors/action/method/interceptor-ref″,
InterceptorRefModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/method/intercept
or-ref″);
d
.addSetNext(
″struts-interceptor/action-interceptors/action/method/interceptor-ref″,
″addInterceptorRef″);
// read struts-interceptor/action-interceptors/action/method/sta ck-ref configuration section
d
.addObjectCreate(
″struts-interceptor/action-interceptors/action/method/stack-ref″,
StackRefModel.class);
d
.addSetProperties(″struts-interceptor/action-interceptors/action/method/stack-ref″);
d
.addSetNext(
″struts-interceptor/action-interceptors/action/method/stack-ref″,
″addStackRef″);
}
Wherein, Diggester is an XML analytical tool, and it directly reads into the Java object with XML.
Described blocker can be divided into control of authority blocker 32, data verification blocker 33, log record blocker 34, abnormality processing blocker 35 etc.
Control of authority blocker 32 is used to judge whether the user has the authority of visit respective path, if there is authority then to return null value (null); If then do not turn back to the wrong page.It is generally realized by preceding blocker interface (beforeAction).
Step S300 when Struts starts initialization, reads configuration file struts-interceptor.xml by Struts plug-in unit class, resolves the blocker that obtains disposing in the configuration file, and initialization;
When the web application of Java (Java web application) starts, load the blocker configuration file by Struts plug-in unit class com.bupticet.strutsinterceptor.StrutsInterceptorContextL oaderPlugIn, requirement is after the Spring container loads, refill and put the Struts application program, as shown in Figure 3, its process is as follows:
Step S301 adopts the Diggester instrument that the xml configuration file is read in, and produces Java object (javaobject);
Step S302, the interception configurator action-interceptors section of resolution path will dispose respectively and extract, and blocker stack stack-ref is replaced corresponding a collection of blocker interceptor;
Step S303, the blocker interceptor of the default blocker default-interceptors section of adding appointment in the interception configurator action-interceptor in each path;
Step S304, the blocker interceptor of appointment in the default blocker exclude-default configuration section that eliminating is excluded in the interception configurator action-interceptor in each path;
Step S305, judge whether the configuration blocker will be carried out in order, if being configured to of the interception configurator order-interceptor in path true (true) in the configurator config section, then blocker interceptor among the interception configurator action-interceptor in each path is sorted, otherwise directly return.
Step S400, when the client-access website, server end Servlet container calls relevant Struts Action or DispatchAction class according to the path, obtain the blocker of path correspondence, use corresponding blocker interface, be implemented under the Struts framework interception towards tangent plane programming (AOP).
Struts DispatchAction and Struts Action comparing class seemingly, difference is that a plurality of methods that are mapped to access path can be arranged among the DispatchAction, and Action can only have one: execute.
DispatchAction inherits from the Action class, it is an abstract class, some basic methods have been encapsulated, solve the ability of using an Action to handle a plurality of operations, the purposes of DispatchAction maximum that Here it is, it can help us with an Action class, encapsulates a cover similar operation method, save the number of class, also alleviated the difficulty of later maintenance simultaneously.
The present invention during to the configuration of each Action, has individual method attribute, if this attribute is that execute then just can carry out other interception of class level to Struts Action in configuration file; If this attribute is other value, then just can carry out other interception of method level to the method for naming with this attribute-name in the Struts DispatchAction class, thus the interception of implementation method level.
As shown in Figure 4, describe in detail to use the blocker interface below, be implemented under the Struts framework towards the process of the interception of tangent plane programming (AOP):
Step S401 carries out the preceding blocker interface (Before-Action) in the blocker;
Step S402 judges whether rreturn value is empty, if be not empty, then expression finishes, and blocker obtains the result, and intercept process finishes, and forwards step S406 to;
Step S403 if be empty, then carries out Struts Action or DispatchAction object class method, normally carries out the Struts program;
Step S404, if throw unusual, when promptly in carrying out Struts Action or DispatchAction object class procedure, abnormal conditions occurring, as network connection error, read-write disk file mistakes etc. are then carried out abnormality processing blocker (ThrowAction) interface in the blocker, then, intercept process finishes, and forwards step S406 to;
Step S405, otherwise, normally carry out the Struts program after, carry out the back blocker interface (AfterAction) in the blocker;
Step S406 will tackle or execution result (Response) is sent.
Its implementation of coded representation with similar Java is:
try{
interceptor.beforeAction();
strutsAction.invoke();
interceptor.afterAction();
}catch(Exception?e){
interceptor.throwAction();
}
In conjunction with the accompanying drawings to the description of the specific embodiment of the invention, others of the present invention and feature are conspicuous to those skilled in the art by above.
Blocker and method towards tangent plane programming (AOP) of the present invention, it is the interception of 11 implementation method levels under Struts application development system framework, when the client-access web station system, when server end Servlet container calls relevant Struts Action or DispatchAction according to the path, use hold-up interception method configuration blocker of the present invention, control of authority blocker for example, the data verification blocker, the log record blocker, the abnormality processing blocker, and come these blocker objects of unified management with the container that SpringFramework provides, make that the program code Function Decomposition is clear, easier to be maintained.It not only supports Struts Action class, also supports Struts DispatchAction class, supports Struts 1.X complete series version even higher version.And, the present invention accomplishes to come unified management blocker object with the Spring container, support to carry out blocker by specified order, thereby in the Struts Development Framework, realize towards tangent plane programming comprehensively, realize the interception (class level blocker) of class and the implementation method in each class and tackle (method level blocker), have good practicability.
More than specific embodiments of the invention are described and illustrate it is exemplary that these embodiment should be considered to it, and be not used in and limit the invention, the present invention should make an explanation according to appended claim.
Claims (14)
1. the interceptor system towards tangent plane programming is realized under Struts application development system framework, it is characterized in that, comprises interface module, the blocker configuration module, wherein:
Interface module is used to be provided with the blocker interface under the Struts framework, realizes the blocker class based on this interface;
The blocker configuration module is used for the configuration file by interface module configuration blocker, and blocker is configured in the corresponding execution route goes.
2. the interceptor system towards tangent plane programming according to claim 1 is characterized in that, also comprises read module and execution module, wherein:
Read module when Struts starts initialization, reads configuration file, resolves the blocker that obtains disposing in the configuration file, and initialization;
Execution module is used for calling Struts Action or DispatchAction class according to the path when the client-access website, obtains the blocker of path correspondence, uses corresponding blocker interface, is implemented under the Struts framework interception towards tangent plane programming.
3. the interceptor system towards tangent plane programming according to claim 1 and 2, it is characterized in that, in the described interface module, also comprise the blocker administration module, be used for bean, be implemented in unified management blocker object in the Spring container in the configuration file configuration blocker class correspondence of Spring container.
4. the interceptor system towards tangent plane programming according to claim 2, it is characterized in that, in the described read module, also further comprise the Struts card module, before being used under the struts framework, calling StrutsAction class or DispatchAction class, in the Struts configuration file, add the blocker configuration module, as Struts configuration file plug-in unit;
When described read module starts initialization at Struts, read configuration file by Struts plug-in unit class.
5. the interceptor system towards tangent plane programming according to claim 1 and 2 is characterized in that, described interface comprises preceding blocker interface, back blocker interface and/or abnormality processing blocker interface.
6. the interceptor system towards tangent plane programming according to claim 1 and 2, it is characterized in that described blocker comprises a kind of in control of authority blocker, data verification blocker, log record blocker and the abnormality processing blocker or more than one combination.
7. the hold-up interception method towards tangent plane programming is characterized in that, comprises the following steps:
Steps A is provided with the blocker interface under the Struts framework, realizes the blocker class based on this interface;
Step B, the configuration file structure of configuration blocker, and blocker is configured in the corresponding execution route goes, can reading face when being implemented in initialization under the Struts framework to the method level blocker of tangent plane programming.
8. the hold-up interception method towards tangent plane programming according to claim 7 is characterized in that, also comprises the following steps: after the described step B
Step C when Struts starts initialization, reads configuration file, resolves the blocker that obtains disposing in the configuration file, and initialization;
Step D, when the client-access website, server end Servlet container calls StrutsAction class or DispatchAction class according to the path, obtains the blocker of path correspondence, use corresponding blocker interface, be implemented under the Struts framework interception towards tangent plane programming.
9. according to claim 7 or 8 described hold-up interception methods, it is characterized in that described steps A also comprises the following steps: towards tangent plane programming
Bean in the configuration file of Spring container configuration blocker class correspondence is implemented in unified management blocker object in the Spring container.
10. the hold-up interception method towards tangent plane programming according to claim 8 is characterized in that, reads configuration file among the described step C and is finished by Struts plug-in unit class.
11. the hold-up interception method towards tangent plane programming according to claim 10 is characterized in that described step C comprises the following steps:
Step C1,, adopt the Diggester instrument that the xml configuration file is read in, produce the Java object;
Step C2, the interception configurator of resolution path will dispose respectively and extract, and the blocker stack is replaced corresponding a collection of blocker;
Step C3, the blocker of the default blocker appointment of adding in the interception configurator in each path;
Step C4, the blocker of appointment in the default blocker that eliminating is excluded in the interception configurator in each path;
Step C5 judges whether the configuration blocker will be carried out in order, if in the configurator interception configurator in path be configured to very, then blocker in the interception configurator in each path is sorted, otherwise directly returns.
12. the hold-up interception method towards tangent plane programming according to claim 8 is characterized in that, among the described step D, uses the blocker interface, is implemented under the struts framework towards the interception of tangent plane programming, comprises the following steps:
Step D1 carries out the preceding blocker interface in the blocker;
Step D2 judges whether rreturn value is empty, if be not empty, then expression finishes, and blocker obtains the result, and intercept process finishes, and forwards step D6 to;
Step D3 if be empty, then carries out Struts Action or DispatchAction object class method, normally carries out the Struts program;
Step D4 if throw unusually, when abnormal conditions occurring in carrying out Struts Action or DispatchAction object class procedure, then carries out the abnormality processing blocker interface in the blocker, and then, intercept process finishes, and forwards step D6 to;
Step D5, otherwise, normally carry out the Struts program after, carry out the back blocker interface in the blocker;
Step D6 will tackle or execution result is sent.
13., it is characterized in that described interface comprises preceding blocker interface, back blocker interface and/or abnormality processing blocker interface according to claim 7 or 8 described hold-up interception methods towards tangent plane programming.
14. according to claim 7 or 8 described hold-up interception methods towards tangent plane programming, it is characterized in that described blocker comprises a kind of in control of authority blocker, data verification blocker, log record blocker and the abnormality processing blocker or more than one combination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100649267A CN101276271A (en) | 2007-03-29 | 2007-03-29 | Method and interceptor system facing to tangent plane programming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100649267A CN101276271A (en) | 2007-03-29 | 2007-03-29 | Method and interceptor system facing to tangent plane programming |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101276271A true CN101276271A (en) | 2008-10-01 |
Family
ID=39995744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100649267A Pending CN101276271A (en) | 2007-03-29 | 2007-03-29 | Method and interceptor system facing to tangent plane programming |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101276271A (en) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957766A (en) * | 2010-09-17 | 2011-01-26 | 山东中创软件工程股份有限公司 | Method, device and system for weaving byte code |
CN102508702A (en) * | 2011-10-20 | 2012-06-20 | 北京金和软件股份有限公司 | Method for processing common service logic by performing interception based on AOP (aspect-oriented programming) technology |
CN102609255A (en) * | 2012-01-19 | 2012-07-25 | 中国科学院计算机网络信息中心 | Generation method for Spring IOC (Inversion of Control) configuration file |
CN103150155A (en) * | 2011-12-07 | 2013-06-12 | 金蝶软件(中国)有限公司 | Data interception method and device |
CN103246514A (en) * | 2013-05-07 | 2013-08-14 | 汉柏科技有限公司 | Method for implementing exception framework on the basis of cloud computing |
CN104021000A (en) * | 2014-06-17 | 2014-09-03 | 山东中创软件工程股份有限公司 | Method for configuring spring data source through property file in dynamic path |
CN104731650A (en) * | 2013-12-18 | 2015-06-24 | 青岛海尔空调器有限总公司 | Acquisition method and device for system interface call information |
CN105005508A (en) * | 2015-07-02 | 2015-10-28 | 国云科技股份有限公司 | Excellent exception processing method |
CN105337978A (en) * | 2015-11-17 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | Section permission validation method and system based on security service block |
CN105893016A (en) * | 2015-12-11 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | Log recording system and method based on MVC (Model View Controller) framework |
CN106528423A (en) * | 2016-11-10 | 2017-03-22 | 北京百家互联科技有限公司 | Dynamic log recording method and device |
CN106528185A (en) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | Application interface management method and apparatus |
CN106649061A (en) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | Method and device for recording user's operation log in web system |
CN106844153A (en) * | 2017-01-20 | 2017-06-13 | 北京奇虎科技有限公司 | Application program operation and monitoring method, device and terminal |
CN108268289A (en) * | 2016-12-30 | 2018-07-10 | 阿里巴巴集团控股有限公司 | Method for parameter configuration, the apparatus and system of web applications |
CN109286610A (en) * | 2018-08-23 | 2019-01-29 | 北京城市网邻信息技术有限公司 | Service blocking apparatus, method, equipment and storage medium |
WO2019136844A1 (en) * | 2018-01-09 | 2019-07-18 | 武汉斗鱼网络科技有限公司 | Aop proxy framework implementation method and system, and storage medium and electronic device |
CN110196790A (en) * | 2018-02-24 | 2019-09-03 | 北京京东尚科信息技术有限公司 | The method and apparatus of abnormal monitoring |
CN110287053A (en) * | 2019-06-27 | 2019-09-27 | 四川新网银行股份有限公司 | The method that distributed system is uniformly processed extremely |
CN110597493A (en) * | 2019-08-22 | 2019-12-20 | 深圳市元征科技股份有限公司 | Control method of Internet of vehicles development system and related products |
CN110633213A (en) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | Unit testing method, unit testing device, computer equipment and storage medium |
CN110874305A (en) * | 2019-11-14 | 2020-03-10 | 北京金山云网络技术有限公司 | User operation recording method and device and server |
WO2020186773A1 (en) * | 2019-03-16 | 2020-09-24 | 平安科技(深圳)有限公司 | Call request monitoring method, device, apparatus, and storage medium |
CN112487097A (en) * | 2020-12-11 | 2021-03-12 | 杭州安恒信息技术股份有限公司 | Method, system and equipment for synchronizing distributed field data |
CN112650488A (en) * | 2019-10-12 | 2021-04-13 | 上海际链网络科技有限公司 | Parameter checking method and device, storage medium and service terminal |
CN112818391A (en) * | 2021-01-26 | 2021-05-18 | 四川天翼网络服务有限公司 | Permission control method based on tangent plane programming |
CN113742038A (en) * | 2020-09-29 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | Service processing method and device and non-volatile computer readable storage medium |
CN114579194A (en) * | 2022-03-08 | 2022-06-03 | 杭州每刻科技有限公司 | Spring remote call-based exception handling method and system |
CN115828195A (en) * | 2023-02-09 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | Watermark embedding method and device, storage medium and electronic equipment |
-
2007
- 2007-03-29 CN CNA2007100649267A patent/CN101276271A/en active Pending
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957766A (en) * | 2010-09-17 | 2011-01-26 | 山东中创软件工程股份有限公司 | Method, device and system for weaving byte code |
CN101957766B (en) * | 2010-09-17 | 2014-07-09 | 山东中创软件工程股份有限公司 | Method, device and system for weaving byte code |
CN102508702A (en) * | 2011-10-20 | 2012-06-20 | 北京金和软件股份有限公司 | Method for processing common service logic by performing interception based on AOP (aspect-oriented programming) technology |
CN103150155A (en) * | 2011-12-07 | 2013-06-12 | 金蝶软件(中国)有限公司 | Data interception method and device |
CN103150155B (en) * | 2011-12-07 | 2016-08-03 | 金蝶软件(中国)有限公司 | Data interception method and device |
CN102609255B (en) * | 2012-01-19 | 2015-09-23 | 中国科学院计算机网络信息中心 | A kind of generation method of Spring IOC configuration file |
CN102609255A (en) * | 2012-01-19 | 2012-07-25 | 中国科学院计算机网络信息中心 | Generation method for Spring IOC (Inversion of Control) configuration file |
CN103246514A (en) * | 2013-05-07 | 2013-08-14 | 汉柏科技有限公司 | Method for implementing exception framework on the basis of cloud computing |
CN104731650A (en) * | 2013-12-18 | 2015-06-24 | 青岛海尔空调器有限总公司 | Acquisition method and device for system interface call information |
CN104021000A (en) * | 2014-06-17 | 2014-09-03 | 山东中创软件工程股份有限公司 | Method for configuring spring data source through property file in dynamic path |
CN104021000B (en) * | 2014-06-17 | 2017-08-29 | 山东中创软件工程股份有限公司 | The method that spring data sources are configured using the property file under dynamic route |
CN105005508A (en) * | 2015-07-02 | 2015-10-28 | 国云科技股份有限公司 | Excellent exception processing method |
CN106528185A (en) * | 2015-09-09 | 2017-03-22 | 阿里巴巴集团控股有限公司 | Application interface management method and apparatus |
CN106649061B (en) * | 2015-11-04 | 2019-12-10 | 阿里巴巴集团控股有限公司 | Method and equipment for recording operation log of user in web system |
CN106649061A (en) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | Method and device for recording user's operation log in web system |
CN105337978A (en) * | 2015-11-17 | 2016-02-17 | 浪潮(北京)电子信息产业有限公司 | Section permission validation method and system based on security service block |
CN105337978B (en) * | 2015-11-17 | 2019-01-22 | 浪潮(北京)电子信息产业有限公司 | A kind of section method for verifying authority and system based on security service blocking |
CN105893016A (en) * | 2015-12-11 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | Log recording system and method based on MVC (Model View Controller) framework |
CN106528423A (en) * | 2016-11-10 | 2017-03-22 | 北京百家互联科技有限公司 | Dynamic log recording method and device |
CN106528423B (en) * | 2016-11-10 | 2019-03-15 | 北京百家互联科技有限公司 | Dynamic journal recording method and device |
CN108268289A (en) * | 2016-12-30 | 2018-07-10 | 阿里巴巴集团控股有限公司 | Method for parameter configuration, the apparatus and system of web applications |
CN106844153A (en) * | 2017-01-20 | 2017-06-13 | 北京奇虎科技有限公司 | Application program operation and monitoring method, device and terminal |
CN106844153B (en) * | 2017-01-20 | 2020-02-11 | 北京奇虎科技有限公司 | Application program operation monitoring method and device and terminal |
WO2019136844A1 (en) * | 2018-01-09 | 2019-07-18 | 武汉斗鱼网络科技有限公司 | Aop proxy framework implementation method and system, and storage medium and electronic device |
CN110196790A (en) * | 2018-02-24 | 2019-09-03 | 北京京东尚科信息技术有限公司 | The method and apparatus of abnormal monitoring |
CN109286610A (en) * | 2018-08-23 | 2019-01-29 | 北京城市网邻信息技术有限公司 | Service blocking apparatus, method, equipment and storage medium |
WO2020186773A1 (en) * | 2019-03-16 | 2020-09-24 | 平安科技(深圳)有限公司 | Call request monitoring method, device, apparatus, and storage medium |
CN110287053B (en) * | 2019-06-27 | 2022-11-04 | 四川新网银行股份有限公司 | Method for uniformly processing distributed system abnormity |
CN110287053A (en) * | 2019-06-27 | 2019-09-27 | 四川新网银行股份有限公司 | The method that distributed system is uniformly processed extremely |
CN110597493A (en) * | 2019-08-22 | 2019-12-20 | 深圳市元征科技股份有限公司 | Control method of Internet of vehicles development system and related products |
CN110597493B (en) * | 2019-08-22 | 2023-06-30 | 深圳市元征科技股份有限公司 | Control method of Internet of vehicles development system and related products |
CN110633213A (en) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | Unit testing method, unit testing device, computer equipment and storage medium |
CN110633213B (en) * | 2019-09-19 | 2023-07-04 | 浙江大搜车软件技术有限公司 | Unit test method, unit test device, computer equipment and storage medium |
CN112650488A (en) * | 2019-10-12 | 2021-04-13 | 上海际链网络科技有限公司 | Parameter checking method and device, storage medium and service terminal |
CN110874305A (en) * | 2019-11-14 | 2020-03-10 | 北京金山云网络技术有限公司 | User operation recording method and device and server |
CN113742038A (en) * | 2020-09-29 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | Service processing method and device and non-volatile computer readable storage medium |
CN112487097A (en) * | 2020-12-11 | 2021-03-12 | 杭州安恒信息技术股份有限公司 | Method, system and equipment for synchronizing distributed field data |
CN112818391A (en) * | 2021-01-26 | 2021-05-18 | 四川天翼网络服务有限公司 | Permission control method based on tangent plane programming |
CN114579194A (en) * | 2022-03-08 | 2022-06-03 | 杭州每刻科技有限公司 | Spring remote call-based exception handling method and system |
CN114579194B (en) * | 2022-03-08 | 2024-04-05 | 杭州每刻科技有限公司 | Exception handling method and system based on Spring remote call |
CN115828195A (en) * | 2023-02-09 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | Watermark embedding method and device, storage medium and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101276271A (en) | Method and interceptor system facing to tangent plane programming | |
US10474998B2 (en) | System and method for messaging in a multitenant application server environment | |
US10613837B2 (en) | Distributed component model | |
CN101546261B (en) | Secure web page tag library system supported by multiple strategies | |
US7213049B2 (en) | System and method for transaction processing with transaction property feature | |
US8799453B2 (en) | Managing networks and machines for an online service | |
CN101266542B (en) | Method and device for loading component in container | |
US20150317187A1 (en) | Placing objects on hosts using hard and soft constraints | |
CN108647265B (en) | Multi-platform data-based interactive system | |
US20120102506A1 (en) | Web service patterns for globally distributed service fabric | |
CN109542611A (en) | Database, that is, service system, database dispatching method, equipment and storage medium | |
CN112214338A (en) | Internet of things cloud platform based on flexible deployment of micro-services | |
WO2012054219A1 (en) | Online database availability during upgrade | |
CN108011768A (en) | A kind of aop intercept types HBase data store micro services framework construction method | |
US8458693B2 (en) | Transitioning from static to dynamic cluster management | |
CN101248416A (en) | Component architecture | |
CN102929597A (en) | Java-platform-based web service support method and device | |
WO2012054202A2 (en) | Installing software remotely using a high privilege process | |
CN101727475A (en) | Method, device and system for acquiring database access process | |
CN114816676A (en) | System and method for realizing multi-tenant deployment of low code development platform | |
CN101236510B (en) | EJB cluster failure recovery processing method and system | |
US8886751B1 (en) | Methods and apparatus for a data driven system implementation using model components | |
US8751569B2 (en) | Environment aware business delegates | |
US7926068B2 (en) | Printing interface for a computer platform | |
CN116055569B (en) | Method, system, computer device and storage medium for custom switching time zone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081001 |