`

泛型编程实例之(二)

 
阅读更多

基本泛型类:

 

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泛型编程的快速入门实例讲解Java泛型编程的快速入门

    C++f 泛型编程应用实例

    集合了C++多重泛型应用实例,让初学者能够了解泛型编程的魅力,为学好C++ 打下良好基础。

    VC++ 2005(7):泛型编程

    泛型编程在C++领域中早已深入人心,它赋予了类型参数式多态的能力,这种能力在ISO-C++中以编译时的模板实例化为依托。而CLI借自己强大的元数据系统,选择了运行时的模板实例化来支持泛型编程。C++/CLI在保留ISO-C++...

    设计新思维:泛型编程与设计模式之应用

    C++ 设计新思维:泛型编程与设计模式之应用(简体中文).pdf c++八大金刚: 1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者 2、The c++ programming language----C++之父,技术...

    C语言泛型编程实例教程

    本文实例讲述了C语言泛型编程的方法,分享给大家供大家参考之用。具体分析如下: 首先,泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。在C语言中,可以通过一些手段...

    C++ 泛型编程详解

    模板是泛型编程的一种重要思想,STL(Standard Template Library,标准模板库)是采用模板实现的一个实例 函数模板 对比函数重载(同一作用域内函数名相同,参数列表不同的函数),函数模板只需要一个函数就实现了函数...

    泛型编程小实例(以List为例)

    哈哈....不描述了...资源我自己弄的,会有收获的.... 帮助你理解泛型...

    泛型编程与STL.rar

    详细讲解并实例说明泛型编程与STL的教程

    泛型编程和STL和模板

    泛型编程,STL,模板,迭代器,容器,主要是些算法和函数的介绍包括了实例.

    C# 2.0中泛型编程思想分析

    在2005年底微软公司正式发布了C# 2.0,与C# 1.x相比,新版本增加了很多新特性,其中最重要的是对泛型的支持。通过泛型,我们可以定义...泛型类实例化的理论 泛型类中数据类型的约束 泛型方法 泛型类中的方法重载 小结

    Java编程探索之泛型擦除实例解析

    主要介绍了Java编程探索之泛型擦除实例解析,具有一定参考价值,需要的朋友可以了解下。

    java集合 框架 泛型

    java集合 框架 泛型,枚举,有PPT详解,并有实例

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_泛型实例

    天轰穿老师VS2010趣味编程视频教程,第24讲,泛型实例,FLV格式,压缩包自带10%恢复记录,自带10%恢复记录

    C#重要知识之——泛型列表List例子

    很多初学C#编程的人可能对泛型列表List的使用不是很清楚,希望这个例子能帮助大家.

    通过实例学习C#开发中的泛型

    C#中所谓泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。

    C#泛型实例详解

    主要介绍了C#泛型,对于C#初学者来说是有必要牢固掌握的内容,需要的朋友可以参考下

    C++函数动态生成器

    一个简单的泛型编程实例,与C++Primer中一个实例类似。 适合初学者,来学习类继承和泛型编程相关技术。。。

    JAVA泛型加减乘除

    这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例128 通过继承泛型类实现输出学生信息 159 实例129 通过泛型实现子窗体的不同操作 160 实例130 使用泛型去掉数组中的重复数字 161 第6章 数据结构与算法 163 6.1 数据结构的实现 164 实例131 单向链表的实现 164 ...

Global site tag (gtag.js) - Google Analytics