CN104394120A - 参数取值方法及装置 - Google Patents
参数取值方法及装置 Download PDFInfo
- Publication number
- CN104394120A CN104394120A CN201410539266.3A CN201410539266A CN104394120A CN 104394120 A CN104394120 A CN 104394120A CN 201410539266 A CN201410539266 A CN 201410539266A CN 104394120 A CN104394120 A CN 104394120A
- Authority
- CN
- China
- Prior art keywords
- parameter
- key
- key parameter
- value
- class
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种参数取值的方法及装置,属于计算机领域。所述方法包括:通过过滤器拦截客户端发送的指定请求;检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理;本发明达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
Description
技术领域
本发明涉及计算机领域,特别涉及一种参数取值方法及装置。
背景技术
在服务器向客户端提供Web服务时,客户端可以向服务器发送请求,该请求可以封装成HttpSeverletRequest对象。当服务器接收到该请求后,将该请求交由服务器中的控制层进行处理。
在同一次会话中,客户端可能向服务器发送多次请求。针对同一次会话中的每个请求,通常都会携带有在整个会话过程中保持不变的参数,比如这个参数可以是用户名。控制层在处理每个请求时,需要获取其中携带的参数。对于这些保持不变的参数,控制器就需要多次获取同一参数的参数值。以该参数为用户名为例,对于每次参数获取过程,控制层都需要从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取用户名参数的参数值。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
控制层在同一会话过程中会多次获取同一参数的参数值,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,每次获取过程会单独对应一段代码,造成了在控制层中相同功能的代码的多次冗余。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种参数取值方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种参数取值方法,所述方法包括:
通过过滤器拦截客户端发送的指定请求;
检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理。
根据本发明实施例的第二方面,提供一种参数取值装置,所述装置包括:
请求拦截模块,用于通过过滤器拦截客户端发送的指定请求;
请求检测模块,用于检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
第一取值模块,用于若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
参数值发送模块,用于将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理。
本发明实施例提供的技术方案带来的有益效果是:
通过服务器通过过滤器拦截客户端发送的指定请求;检测过滤器拦截的指定请求携带的参数是否为关键参数;若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理;解决了控制层在同一会话过程中多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,造成控制层中相同功能的代码的多次冗余的问题;达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的参数取值方法的方法流程图;
图2是本发明另一实施例提供的参数取值方法的方法流程图;
图3是本发明一个实施例提供的参数取值装置的结构方框图;
图4是本发明另一实施例提供的参数取值装置的结构方框图;
图5是本发明一个实施例提供的服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明各个实施例提供的参数取值方法,可以由服务器来实现。该服务器可以是一台服务器、由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
为了简化描述,下文中仅以参数取值方法由一台服务器执行来举例说明,但对此不构成限定。
在网页系统开发中,通常使用MVC(Model View Controller,模型-视图-控制器)模式进行开发,通过将系统划分为模型层、视图层和控制层,不同层执行各自的操作,使得不同层之间的代码不会混合在一起。其中模型层通常负责对数据库中的数据进行存取操作,视图层通常对数据进行显示处理,控制层通常负责从视图层获取数据,并对数据进行处理,将处理后的数据发送至模型层。
在背景技术中,控制层在同一会话过程中会多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,而每次获取过程都会单独对应一段代码。比如,在一次会话过程中,控制层需要验证用户是否已经登录,此时控制层需要从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数名为“userId”的参数的参数值,根据该参数值是否为空,判断用户是否已经登录,其实现的代码可以如下:
在此次会话中,如果客户端每发送一个请求,控制层都需要对用户是否已经登录进行判断,则需要重复执行从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数名为“userId”的参数的参数值这个过程,而每个过程都对应一段单独的代码,造成了控制层中相同功能代码的多次冗余。
为了解决上述问题,可以将需要频繁从会话对象中获取的参数设置为关键参数,预先为每个关键参数设置一个实现类,该实现类用于获取该关键参数的参数值。然后,通过过滤器拦截客户端发送的指定请求,对于拦截到的指定请求携带的参数为关键参数的,调用与该关键参数对应的实现类直接获取关键参数的参数值,并将该参数值发送给控制层,从而避免了控制层中相同功能代码的多次冗余。下面将采用一个实施例进行说明。
请参考图1,其示出了本发明一个实施例提供的参数取值方法的方法流程图。该方法包括:
步骤102,通过过滤器拦截客户端发送的指定请求;
步骤104,检测过滤器拦截的指定请求携带的参数是否为关键参数;
步骤106,若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;
步骤108,将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理。
综上所述,本实施例提供的参数取值方法通过服务器通过过滤器拦截客户端发送的指定请求;检测过滤器拦截的指定请求携带的参数是否为关键参数;若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理;解决了控制层在同一会话过程中多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,造成控制层中相同功能的代码的多次冗余的问题;达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
请参考图2,其示出了本发明另一实施例提供的参数取值方法的方法流程图。该方法包括:
步骤201,在配置文件中配置过滤器,该过滤器用于拦截客户端发送的指定请求。
为了拦截客户端发送的指定请求,需要预先在配置文件中配置过滤器,该配置文件可以是web.xml文件。通过在配置文件中配置过滤器,当服务器启动时,该过滤器也会同时启动,并过滤客户端发送的指定请求,该指定请求可以是客户端发送的.do请求。
步骤202,注册至少一个实现类,每个实现类对应一种关键参数,且每个实现类提供有获取关键参数名方法和获取关键参数值方法。
服务器启动时,将会对每一个实现类进行注册。每一个实现类都实现PageParameter接口,该接口中包含获取参数名和获取参数值方法。由于每一个实现类对应一个关键参数,且实现PageParameter接口,所以该每个实现类中包含获取关键参数名方法和获取关键参数值方法。其中,获取关键参数名方法用于获取实现类对应地关键参数的参数名,获取关键参数值方法用于获取实现类对应地关键参数的参数值。
比如,sessUserId用户号作为一个关键参数时,将会对应一个SessUserIdPageParameter实现类,该实现类中包括获取关键参数名方法和获取关键参数值方法,其代码可以如下:
步骤203,调用获取关键参数名方法获取每个实现类所对应的关键参数的参数名,将关键参数的参数名保存至预设存储位置。
服务器在启动时,将会调用每个实现类中的获取关键参数名方法,获取每个实现类对应关键参数的参数名,并将该参数名保存在预设存储位置,该预设存储位置可以使JVM缓存。
比如,服务器启动时,将会调用SessUserIdPageParameter实现类中的获取关键参数名方法,获取该实现类对应的关键参数名“sessUserId”,并将该关键参数名保存到JVM缓存中。
步骤204,预先在过滤器中通过继承HttpSeverletRequest对象的方式,创建自定义对象。
服务器需要通过预先在过滤器中通过继承HttpSeverletRequest对象的方式,创建自定义对象,该自定义对象用于检测过滤器拦截客户端发送的指定请求中是否携带有关键参数。
在配置过滤器、注册实现类、创建自定义对象之后,当客户端向服务器发送请求时,将会执行下述步骤:
步骤205,通过过滤器拦截客户端发送的指定请求。
客户端发送的所有请求将会经过预先配置的过滤器,该过滤器将会拦截下客户端发送请求中指定请求,该指定请求可以是客户端发送的.do请求。
比如,预先在web.xml文件中配置UserinfoFilter过滤器,该UserinfoFilter过滤器用于拦截客户端发送的.do请求。当服务器启动时,该UserinfoFilter过滤器也会同时启动,当客户端发送的请求经过UserinfoFilter过滤器时,该过滤器将拦截下客户端发送的.do请求,对该.do请求进行处理。
步骤206,从预设存储位置获取关键参数的参数名。
过滤器在拦截客户端发送的指定请求之后,将会从预设存储位置获取该关键参数的参数名。
比如,当关键参数预先保存到JVM缓存时,过滤器在拦截到客户端发送的指定请求之后,将会访问JVM缓存,从JVM缓存中获取到预先保存的关键参数的参数名。
过滤器在从预设存储位置获取该关键参数的参数名之后,检测拦截客户端发送的指定请求中是否包含关键参数,具体如下:
步骤207,调用过滤器中的自定义对象的第一获取参数值方法,检测指定请求是否携带有与参数名对应的关键参数。
过滤器将会调用自定义对象的第一获取参数值方法,检测定请求是否携带有与参数名对应的关键参数,步骤207包括如下子步骤:
一、调用过滤器中的自定义对象的第一获取参数值方法,根据关键参数的参数名从指定请求中试探获取关键参数的参数值;
该自定义对象中的第一获取参数值方法,可以获取预设关键参数的参数值,即可以根据关键参数的参数名从指定请求中试探获取关键参数的参数值,当可以通过调用该第一获取参数值方法获取到参数值时,表示该指定请求中携带的参数时预设的关键参数。
比如,该自定义对象中的第一获取参数值方法可以如下:
当可以获取到关键参数的参数值时,表示该指定请求携带的参数为关键参数,当获取不到关键参数的参数值时,则表示该指定请求携带的参数不是关键参数。
二、若能够获取到参数值,则确定指定请求中携带的参数是关键参数。进入步骤208。
三、若不能获取到参数值,则确定指定请求中携带的参数不是关键参数。进入步骤209。
步骤208,若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类。
具体的,服务器通过调用关键参数对应的实现类的获取关键参数值方法,获取关键参数的参数值。
当检测到指定请求中携带的参数是关键参数时,服务器将会调用该关键参数对应实现类的获取关键参数值方法,获取该关键参数的参数值。
比如,当检测到指定请求携带的参数为关键参数sessUserId时,服务器将会调用关键参数sessUserId对应实现类的获取关键参数值方法,获取到关键参数的参数值。
步骤209,若指定请求中携带的参数不是关键参数,则调用过滤器中的自定义对象的第二获取参数值方法,获取指定请求所携带的参数的参数值。
当指定请求中携带的参数不是关键参数时,即该参数没有对应的实现类,此时将通过过滤器中的第二获取参数值方法,获取指定请求所携带的参数的参数值,该第二获取参数值方法可以getParameter方法。
需要说明的是,过滤器将根据第二获取参数值方法获取到的指定请求携带的参数的参数值发送给控制层,该控制层将对该参数值进行处理。
步骤210,将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理。
当指定请求携带的参数为关键参数时,服务器将通过实现类获取的关键参数的参数值发送到控制层,该控制层在获取到该参数值后,将会对该参数值进行处理。
比如,当判断用户是否已经登录时,客户端发送的指定请求携带的参数为关键参数sessUserId,服务器通过该关键参数sessUserId对应的实现类SessUserIdPageParameter中的获取关键参数值方法获取到关键参数sessUserId的参数值,并将该参数值发送至控制层,控制层检测该参数值是否为空,当该参数值为空时,表示用户为登录,当该参数值非空时,表示该用户已经登录。实现的代码可以如下:
显而易见的,与背景技术相比,控制层不再需要从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值,而是直接由实现类将获取到的参数值发送到控制层,由控制层对该参数值进行处理。当在同一次会话过程中,需要多次判断用户是否已经登录时,不再需要由控制层进行取值,从而避免了控制层中相同功能的代码的多次冗余的问题。
综上所述,本实施例提供的参数取值方法通过服务器通过过滤器拦截客户端发送的指定请求;检测过滤器拦截的指定请求携带的参数是否为关键参数;若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理;解决了控制层在同一会话过程中多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,造成控制层中相同功能的代码的多次冗余的问题;达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
本实施例还通过调用过滤器中的第二获取参数值方法,获取客户端发送的指定请求携带的参数中不是关键参数的参数值,并将该参数值发送至控制层,有控制层进行处理,减轻了控制层获取参数值的压力。
请参考图3,其示出了本发明一个实施例提供的参数取值装置的结构方框图。该参数取值装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分。该参数取值装置,包括:
请求拦截模块302,用于通过过滤器拦截客户端发送的指定请求;
请求检测模块304,用于检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
第一取值模块306,用于若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
参数值发送模块308,将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理。
综上所述,本实施例提供的参数取值装置通过服务器通过过滤器拦截客户端发送的指定请求;检测过滤器拦截的指定请求携带的参数是否为关键参数;若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理;解决了控制层在同一会话过程中多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,造成控制层中相同功能的代码的多次冗余的问题;达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
请参考图4,其示出了本发明另一实施例提供的参数取值装置的结构方框图。该参数取值装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或者一部分。该参数取值装置,包括:
请求拦截模块302,用于通过过滤器拦截客户端发送的指定请求;
请求检测模块304,用于检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
第一取值模块306,用于若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
参数值发送模块308,用于将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理。
可选地,第一取值模块306,包括:
第一取值单元306A,用于调用所述关键参数对应的实现类的获取关键参数值方法,获取所述关键参数的参数值。
可选地,该装置,还包括:
实现类注册模块309,用于注册至少一个实现类,每个实现类对应一种关键参数,且每个实现类提供有获取关键参数名方法和获取关键参数值方法;
关键参数保存模块310,用于调用所述获取关键参数名方法获取每个实现类所对应的关键参数的参数名,将所述关键参数的参数名保存至预设存储位置。
可选地,请求检测模块304,包括:
关键参数获取单元304A,用于从所述预设存储位置获取所述关键参数的参数名;
关键参数检测单元304B,用于调用所述过滤器中的自定义对象的第一获取参数值方法,检测所述指定请求是否携带有与所述参数名对应的所述关键参数。
可选地,关键参数获取单元304B,包括:
试探取值子单元304Ba,用于调用所述过滤器中的自定义对象的第一获取参数值方法,根据所述关键参数的参数名从所述指定请求中试探获取所述关键参数的参数值;
关键参数确定子单元304Bb,用于若能够获取到的所述参数值,则确定所述指定请求中携带的参数是关键参数。
可选地,该装置,还包括:
第二取值模块311,用于若所述指定请求中携带的参数不是所述关键参数,则调用所述过滤器中的自定义对象的第二获取参数值方法,获取所述指定请求所携带的参数的参数值。
可选地,该装置,还包括:
自定义对象创建模块312,用于预先在所述过滤器中通过继承HttpSeverletRequest对象的方式,创建所述自定义对象。
综上所述,本实施例提供的参数取值装置通过服务器通过过滤器拦截客户端发送的指定请求;检测过滤器拦截的指定请求携带的参数是否为关键参数;若指定请求中携带的参数是关键参数,则调用关键参数对应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;将关键参数的参数值发送至控制层,以便控制层对关键参数的参数值进行处理;解决了控制层在同一会话过程中多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程,造成控制层中相同功能的代码的多次冗余的问题;达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
本实施例还通过调用过滤器中的第二获取参数值方法,获取客户端发送的指定请求携带的参数中不是关键参数的参数值,并将该参数值发送至控制层,有控制层进行处理,减轻了控制层获取参数值的压力。
需要说明的是:上述实施例提供的参数取值装置在进行参数取值时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将具有服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的参数取值装置与参数取值方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图5,其示出了本发明一个实施例提供的服务器的结构示意图。所述服务器500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的存储器504,以及连接存储器504和中央处理单元501的系统总线505。
根据本发明的各种实施例,所述服务器500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器500可以通过连接在所述系统总线505上的网络接口单元506连接到网络507,或者说,也可以使用网络接口单元506来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的参数取值方法的指令。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种参数取值方法,其特征在于,所述方法包括:
通过过滤器拦截客户端发送的指定请求;
检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理。
2.根据权利要求1所述的方法,其特征在于,所述调用所述关键参数对应的实现类获取所述关键参数的参数值,包括:
调用所述关键参数对应的实现类的获取关键参数值方法,获取所述关键参数的参数值。
3.根据权利要求2所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数之前,还包括:
注册至少一个实现类,每个实现类对应一种关键参数,且每个实现类提供有获取关键参数名方法和获取关键参数值方法;
调用所述获取关键参数名方法获取每个实现类所对应的关键参数的参数名,将所述关键参数的参数名保存至预设存储位置。
4.根据权利要求3所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数,包括:
从所述预设存储位置获取所述关键参数的参数名;
调用所述过滤器中的自定义对象的第一获取参数值方法,检测所述指定请求是否携带有与所述参数名对应的所述关键参数。
5.根据权利要求4所述的方法,其特征在于,所述调用所述过滤器中的自定义对象的第一获取参数值方法,检测所述指定请求是否携带有与所述参数名对应的所述关键参数,包括:
调用所述过滤器中的自定义对象的所述第一获取参数值方法,根据所述关键参数的参数名从所述指定请求中试探获取所述关键参数的参数值;
若能够获取到的所述参数值,则确定所述指定请求中携带的参数是关键参数。
6.根据权利要求1所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数之后,还包括:
若所述指定请求中携带的参数不是所述关键参数,则调用所述过滤器中的自定义对象的第二获取参数值方法,获取所述指定请求所携带的参数的参数值。
7.根据权利要求4至6任一所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数之前,还包括:
预先在所述过滤器中通过继承HttpSeverletRequest对象的方式,创建所述自定义对象。
8.一种参数取值装置,其特征在于,所述装置包括:
请求拦截模块,用于通过过滤器拦截客户端发送的指定请求;
请求检测模块,用于检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
第一取值模块,用于若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
参数值发送模块,用于将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理。
9.根据权利要求8所述的装置,其特征在于,所述第一取值模块,包括:
第一取值单元,用于调用所述关键参数对应的实现类的获取关键参数值方法,获取所述关键参数的参数值。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
实现类注册模块,用于注册至少一个实现类,每个实现类对应一种关键参数,且每个实现类提供有获取关键参数名方法和获取关键参数值方法;
关键参数保存模块,用于调用所述获取关键参数名方法获取每个实现类所对应的关键参数的参数名,将所述关键参数的参数名保存至预设存储位置。
11.根据权利要求10所述的装置,其特征在于,所述请求检测模块,包括:
关键参数获取单元,用于从所述预设存储位置获取所述关键参数的参数名;
关键参数检测单元,用于调用所述过滤器中的自定义对象的第一获取参数值方法,检测所述指定请求是否携带有与所述参数名对应的所述关键参数。
12.根据权利要求11所述的装置,其特征在于,所述关键参数检测单元,包括:
试探取值子单元,用于调用所述过滤器中的自定义对象的第一获取参数值方法,根据所述关键参数的参数名从所述指定请求中试探获取所述关键参数的参数值;
关键参数确定子单元,用于若能够获取到的所述参数值,则确定所述指定请求中携带的参数是关键参数。
13.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
第二取值模块,用于若所述指定请求中携带的参数不是所述关键参数,则调用所述过滤器中的自定义对象的第二获取参数值方法,获取所述指定请求所携带的参数的参数值。
14.根据权利要求11至13任一所述的装置,其特征在于,所述装置,还包括:
自定义对象创建模块,用于预先在所述过滤器中通过继承HttpSeverletRequest对象的方式,创建所述自定义对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410539266.3A CN104394120B (zh) | 2014-10-13 | 2014-10-13 | 参数取值方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410539266.3A CN104394120B (zh) | 2014-10-13 | 2014-10-13 | 参数取值方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104394120A true CN104394120A (zh) | 2015-03-04 |
CN104394120B CN104394120B (zh) | 2017-12-12 |
Family
ID=52611956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410539266.3A Active CN104394120B (zh) | 2014-10-13 | 2014-10-13 | 参数取值方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104394120B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676547A (zh) * | 2021-09-01 | 2021-11-19 | 北京字跳网络技术有限公司 | 数据处理方法、装置、存储介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030145305A1 (en) * | 2001-11-16 | 2003-07-31 | Mario Ruggier | Method for developing and managing large-scale web user interfaces (WUI) and computing system for said WUI |
CN101667139A (zh) * | 2009-10-13 | 2010-03-10 | 金蝶软件(中国)有限公司 | 基于集合类型对象的服务程序调用方法、装置及系统 |
CN101667125A (zh) * | 2009-09-30 | 2010-03-10 | 北京航空航天大学 | 业务流程建模标记模型执行中运行实例匹配方法及系统 |
CN101901148A (zh) * | 2010-01-28 | 2010-12-01 | 浙江大学 | 基于autosar标准的ecu参数配置界面生成方法 |
-
2014
- 2014-10-13 CN CN201410539266.3A patent/CN104394120B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030145305A1 (en) * | 2001-11-16 | 2003-07-31 | Mario Ruggier | Method for developing and managing large-scale web user interfaces (WUI) and computing system for said WUI |
CN101667125A (zh) * | 2009-09-30 | 2010-03-10 | 北京航空航天大学 | 业务流程建模标记模型执行中运行实例匹配方法及系统 |
CN101667139A (zh) * | 2009-10-13 | 2010-03-10 | 金蝶软件(中国)有限公司 | 基于集合类型对象的服务程序调用方法、装置及系统 |
CN101901148A (zh) * | 2010-01-28 | 2010-12-01 | 浙江大学 | 基于autosar标准的ecu参数配置界面生成方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676547A (zh) * | 2021-09-01 | 2021-11-19 | 北京字跳网络技术有限公司 | 数据处理方法、装置、存储介质和电子设备 |
CN113676547B (zh) * | 2021-09-01 | 2023-04-07 | 北京字跳网络技术有限公司 | 数据处理方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104394120B (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857484B (zh) | 一种实现单点登录的方法、系统及装置 | |
CN111212075B (zh) | 业务请求的处理方法、装置、电子设备及计算机存储介质 | |
CN110166459B (zh) | 反序列化漏洞的防护方法、装置、设备及可读存储介质 | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN103475682B (zh) | 文件迁移方法及设备 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN109450976B (zh) | 一种业务系统的访问的方法及装置 | |
CN109450766B (zh) | 一种工作区级vpn的访问处理方法及装置 | |
CN104796406A (zh) | 一种应用识别方法及装置 | |
CN115913937B (zh) | 一种容器多网卡网络配置方法、装置、设备及存储介质 | |
CN110650216A (zh) | 云服务请求方法和装置 | |
CN101702724A (zh) | 网络访问的安全控制方法及装置 | |
CN112702362B (zh) | Tcp/ip协议栈的增强方法、装置、电子设备及存储介质 | |
CN111600755B (zh) | 上网行为管理系统和方法 | |
CN111970162B (zh) | 一种超融合架构下的异构gis平台服务中控系统 | |
CN115913597A (zh) | 确定失陷主机的方法及装置 | |
CN110740464A (zh) | 一种nf服务发现方法及设备 | |
CN104394120A (zh) | 参数取值方法及装置 | |
CN113169999A (zh) | 基于位置与用户装置安全地共享文件 | |
CN111786932A (zh) | 账号登录方法、装置、电子设备及计算机存储介质 | |
CN115396221A (zh) | 授权处理方法及装置、系统、电子设备及存储介质 | |
US20050132237A1 (en) | Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection | |
CN111970253B (zh) | Pep的配置方法、装置、电子设备和存储介质 | |
CN109302446B (zh) | 跨平台访问方法、装置、电子设备及存储介质 | |
CN111416852A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28 Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08, Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |