基本泛型类:
public abstract class SessionServiceBase<T> {
public abstract String getStringFromEntry(T entry);
/**
* 存储介质的存储string,比如cookie里、threadlocal里等
*
* @param value
* @param seconds
*/
public abstract void setString(String value, int seconds);
public void set(T entry) {
// 写入cookie
set(entry, 3600 * 24 * 30); // 默认30天
}
public final void set(T entry, int seconds) {
String value = getStringFromEntryInternal(entry);
setString(value, seconds);
}
String getStringFromEntryInternal(T entry) {
String s = getStringFromEntry(entry);
return StringUtil.signContent(s, getSalt());
}
}
抽象泛型类的实现类:
public class CookieSessionService extends SessionServiceBase<User> {
private tools.web.CookieUtil cookie = null;
。。。
@Override
public void setString(String arg0, int arg1) {
try {
cookie.set(name, URLEncoder.encode(arg0, ENCODING), domain, null,
arg1);
} catch (UnsupportedEncodingException e) {
}
}
}
调用它的类:
public class Request extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
long startTime = System.currentTimeMillis();
request.setCharacterEncoding("GBK");
String action = request.getParameter("action");
....
if ("auth".equalsIgnoreCase(action)) {
auth(request, response);
return;
....
private void auth(HttpServletRequest request, HttpServletResponse response) {
String name = request.getParameter("name");
CookieSessionService cs = CookieSessionService.create(request,
response, "auth", null);
User u = new User();
u.setUserId(0);
u.setUserName(name);
u.setData(request.getParameter("data"));
cs.set(u);
}
}
分享到:
相关推荐
实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门
集合了C++多重泛型应用实例,让初学者能够了解泛型编程的魅力,为学好C++ 打下良好基础。
泛型编程在C++领域中早已深入人心,它赋予了类型参数式多态的能力,这种能力在ISO-C++中以编译时的模板实例化为依托。而CLI借自己强大的元数据系统,选择了运行时的模板实例化来支持泛型编程。C++/CLI在保留ISO-C++...
C++ 设计新思维:泛型编程与设计模式之应用(简体中文).pdf c++八大金刚: 1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者 2、The c++ programming language----C++之父,技术...
本文实例讲述了C语言泛型编程的方法,分享给大家供大家参考之用。具体分析如下: 首先,泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。在C语言中,可以通过一些手段...
模板是泛型编程的一种重要思想,STL(Standard Template Library,标准模板库)是采用模板实现的一个实例 函数模板 对比函数重载(同一作用域内函数名相同,参数列表不同的函数),函数模板只需要一个函数就实现了函数...
哈哈....不描述了...资源我自己弄的,会有收获的.... 帮助你理解泛型...
详细讲解并实例说明泛型编程与STL的教程
泛型编程,STL,模板,迭代器,容器,主要是些算法和函数的介绍包括了实例.
在2005年底微软公司正式发布了C# 2.0,与C# 1.x相比,新版本增加了很多新特性,其中最重要的是对泛型的支持。通过泛型,我们可以定义...泛型类实例化的理论 泛型类中数据类型的约束 泛型方法 泛型类中的方法重载 小结
主要介绍了Java编程探索之泛型擦除实例解析,具有一定参考价值,需要的朋友可以了解下。
java集合 框架 泛型,枚举,有PPT详解,并有实例
天轰穿老师VS2010趣味编程视频教程,第24讲,泛型实例,FLV格式,压缩包自带10%恢复记录,自带10%恢复记录
很多初学C#编程的人可能对泛型列表List的使用不是很清楚,希望这个例子能帮助大家.
C#中所谓泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。
主要介绍了C#泛型,对于C#初学者来说是有必要牢固掌握的内容,需要的朋友可以参考下
一个简单的泛型编程实例,与C++Primer中一个实例类似。 适合初学者,来学习类继承和泛型编程相关技术。。。
这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...
实例128 通过继承泛型类实现输出学生信息 159 实例129 通过泛型实现子窗体的不同操作 160 实例130 使用泛型去掉数组中的重复数字 161 第6章 数据结构与算法 163 6.1 数据结构的实现 164 实例131 单向链表的实现 164 ...