参数取值方法及装置制造方法

文档序号:7816663阅读:158来源:国知局
参数取值方法及装置制造方法
【专利摘要】本发明公开了一种参数取值的方法及装置,属于计算机领域。所述方法包括:通过过滤器拦截客户端发送的指定请求;检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进行处理;本发明达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参数值的代码,降低了软件测试的难度的效果。
【专利说明】参数取值方法及装置

【技术领域】
[0001] 本发明涉及计算机领域,特别涉及一种参数取值方法及装置。

【背景技术】
[0002] 在服务器向客户端提供Web服务时,客户端可以向服务器发送请求,该请求可以 封装成HttpSeverletRequest对象。当服务器接收到该请求后,将该请求交由服务器中的 控制层进行处理。
[0003] 在同一次会话中,客户端可能向服务器发送多次请求。针对同一次会话中的每个 请求,通常都会携带有在整个会话过程中保持不变的参数,比如这个参数可以是用户名。控 制层在处理每个请求时,需要获取其中携带的参数。对于这些保持不变的参数,控制器就需 要多次获取同一参数的参数值。以该参数为用户名为例,对于每次参数获取过程,控制层都 需要从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取用户名参数的参 数值。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 控制层在同一会话过程中会多次获取同一参数的参数值,需要重复从 HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这个过程, 每次获取过程会单独对应一段代码,造成了在控制层中相同功能的代码的多次冗余。


【发明内容】

[0006] 为了解决现有技术的问题,本发明实施例提供了一种参数取值方法及装置。所述 技术方案如下:
[0007] 根据本发明实施例的第一方面,提供一种参数取值方法,所述方法包括:
[0008] 通过过滤器拦截客户端发送的指定请求;
[0009] 检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数;
[0010] 若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现 类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
[0011] 将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数 值进行处理。
[0012] 根据本发明实施例的第二方面,提供一种参数取值装置,所述装置包括:
[0013] 请求拦截模块,用于通过过滤器拦截客户端发送的指定请求;
[0014] 请求检测模块,用于检测所述过滤器拦截的所述指定请求携带的参数是否为关键 参数;
[0015] 第一取值模块,用于若所述指定请求中携带的参数是所述关键参数,则调用所述 关键参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类;
[0016] 参数值发送模块,用于将所述关键参数的参数值发送至控制层,以便所述控制层 对所述关键参数的参数值进行处理。
[0017] 本发明实施例提供的技术方案带来的有益效果是:
[0018] 通过服务器通过过滤器拦截客户端发送的指定请求;检测过滤器拦截的指定请 求携带的参数是否为关键参数;若指定请求中携带的参数是关键参数,则调用关键参数对 应的实现类获取关键参数的参数值,每个关键参数对应各自的实现类;将关键参数的参数 值发送至控制层,以便控制层对关键参数的参数值进行处理;解决了控制层在同一会话过 程中多次获取同一参数的参数值时,需要重复从HttpSeverletRequest对象中获取会话对 象,再从会话对象中获取参数的参数值这个过程,造成控制层中相同功能的代码的多次冗 余的问题;达到了通过实现类来获取每个关键参数的参数值,并传入控制层,控制层只需对 传入的参数值进行处理,无需重复编写获取关键参数值的代码,从而简化了控制层获取参 数值的代码,降低了软件测试的难度的效果。

【专利附图】

【附图说明】
[0019] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0020] 图1是本发明一个实施例提供的参数取值方法的方法流程图;
[0021] 图2是本发明另一实施例提供的参数取值方法的方法流程图;
[0022] 图3是本发明一个实施例提供的参数取值装置的结构方框图;
[0023] 图4是本发明另一实施例提供的参数取值装置的结构方框图;
[0024] 图5是本发明一个实施例提供的服务器的结构示意图。

【具体实施方式】
[0025] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0026] 本发明各个实施例提供的参数取值方法,可以由服务器来实现。该服务器可以是 一台服务器、由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
[0027] 为了简化描述,下文中仅以参数取值方法由一台服务器执行来举例说明,但对此 不构成限定。
[0028] 在网页系统开发中,通常使用MVC(Model View Controller,模型-视图-控制器) 模式进行开发,通过将系统划分为模型层、视图层和控制层,不同层执行各自的操作,使得 不同层之间的代码不会混合在一起。其中模型层通常负责对数据库中的数据进行存取操 作,视图层通常对数据进行显示处理,控制层通常负责从视图层获取数据,并对数据进行处 理,将处理后的数据发送至模型层。
[0029] 在【背景技术】中,控制层在同一会话过程中会多次获取同一参数的参数值时,需要 重复从HttpSeverletRequest对象中获取会话对象,再从会话对象中获取参数的参数值这 个过程,而每次获取过程都会单独对应一段代码。比如,在一次会话过程中,控制层需要验 证用户是否已经登录,此时控制层需要从HttpSeverletRequest对象中获取会话对象,再 从会话对象中获取参数名为"userid"的参数的参数值,根据该参数值是否为空,判断用户 是否已经登录,其实现的代码可以如下:
[0030]

【权利要求】
1. 一种参数取值方法,其特征在于,所述方法包括: 通过过滤器拦截客户端发送的指定请求; 检测所述过滤器拦截的所述指定请求携带的参数是否为关键参数; 若所述指定请求中携带的参数是所述关键参数,则调用所述关键参数对应的实现类获 取所述关键参数的参数值,每个关键参数对应各自的实现类; 将所述关键参数的参数值发送至控制层,以便所述控制层对所述关键参数的参数值进 行处理。
2. 根据权利要求1所述的方法,其特征在于,所述调用所述关键参数对应的实现类获 取所述关键参数的参数值,包括: 调用所述关键参数对应的实现类的获取关键参数值方法,获取所述关键参数的参数 值。
3. 根据权利要求2所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请 求携带的参数是否为关键参数之前,还包括: 注册至少一个实现类,每个实现类对应一种关键参数,且每个实现类提供有获取关键 参数名方法和获取关键参数值方法; 调用所述获取关键参数名方法获取每个实现类所对应的关键参数的参数名,将所述关 键参数的参数名保存至预设存储位置。
4. 根据权利要求3所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请 求携带的参数是否为关键参数,包括: 从所述预设存储位置获取所述关键参数的参数名; 调用所述过滤器中的自定义对象的第一获取参数值方法,检测所述指定请求是否携带 有与所述参数名对应的所述关键参数。
5. 根据权利要求4所述的方法,其特征在于,所述调用所述过滤器中的自定义对象的 第一获取参数值方法,检测所述指定请求是否携带有与所述参数名对应的所述关键参数, 包括: 调用所述过滤器中的自定义对象的所述第一获取参数值方法,根据所述关键参数的参 数名从所述指定请求中试探获取所述关键参数的参数值; 若能够获取到的所述参数值,则确定所述指定请求中携带的参数是关键参数。
6. 根据权利要求1所述的方法,其特征在于,所述检测所述过滤器拦截的所述指定请 求携带的参数是否为关键参数之后,还包括: 若所述指定请求中携带的参数不是所述关键参数,则调用所述过滤器中的自定义对象 的第二获取参数值方法,获取所述指定请求所携带的参数的参数值。
7. 根据权利要求4至6任一所述的方法,其特征在于,所述检测所述过滤器拦截的所述 指定请求携带的参数是否为关键参数之前,还包括: 预先在所述过滤器中通过继承HttpSeverletRequest对象的方式,仓ij建所述自定义对 象。
8. -种参数取值装置,其特征在于,所述装置包括: 请求拦截模块,用于通过过滤器拦截客户端发送的指定请求; 请求检测模块,用于检测所述过滤器拦截的所述指定请求携带的参数是否为关键参 数; 第一取值模块,用于若所述指定请求中携带的参数是所述关键参数,则调用所述关键 参数对应的实现类获取所述关键参数的参数值,每个关键参数对应各自的实现类; 参数值发送模块,用于将所述关键参数的参数值发送至控制层,以便所述控制层对所 述关键参数的参数值进行处理。
9. 根据权利要求8所述的装置,其特征在于,所述第一取值模块,包括: 第一取值单元,用于调用所述关键参数对应的实现类的获取关键参数值方法,获取所 述关键参数的参数值。
10. 根据权利要求9所述的装置,其特征在于,所述装置,还包括: 实现类注册模块,用于注册至少一个实现类,每个实现类对应一种关键参数,且每个实 现类提供有获取关键参数名方法和获取关键参数值方法; 关键参数保存模块,用于调用所述获取关键参数名方法获取每个实现类所对应的关键 参数的参数名,将所述关键参数的参数名保存至预设存储位置。
11. 根据权利要求10所述的装置,其特征在于,所述请求检测模块,包括: 关键参数获取单元,用于从所述预设存储位置获取所述关键参数的参数名; 关键参数检测单元,用于调用所述过滤器中的自定义对象的第一获取参数值方法,检 测所述指定请求是否携带有与所述参数名对应的所述关键参数。
12. 根据权利要求11所述的装置,其特征在于,所述关键参数检测单元,包括: 试探取值子单元,用于调用所述过滤器中的自定义对象的第一获取参数值方法,根据 所述关键参数的参数名从所述指定请求中试探获取所述关键参数的参数值; 关键参数确定子单元,用于若能够获取到的所述参数值,则确定所述指定请求中携带 的参数是关键参数。
13. 根据权利要求8所述的装置,其特征在于,所述装置,还包括: 第二取值模块,用于若所述指定请求中携带的参数不是所述关键参数,则调用所述过 滤器中的自定义对象的第二获取参数值方法,获取所述指定请求所携带的参数的参数值。
14. 根据权利要求11至13任一所述的装置,其特征在于,所述装置,还包括: 自定义对象创建模块,用于预先在所述过滤器中通过继承HttpSeverletRequest对象 的方式,仓ll建所述自定义对象。
【文档编号】H04L29/08GK104394120SQ201410539266
【公开日】2015年3月4日 申请日期:2014年10月13日 优先权日:2014年10月13日
【发明者】谭海潮, 卢轩华 申请人:广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1