资源描述
《ASP.NET程序设计》课程标准
ASP.NET是微软发展的新的体系结构.NET重要的一部分,其中全新的技术架构会让每个人的编程变得更简单。ASP.NET 是一种建立在通用语言上的网站构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比以往的Web开发模式更强大的功能。目前ASP.NET已成为微软推出的新一代MicroSoft.Net的一个组成部分。它是一个实用性极强的网站开发工具,是计算机专业必学的职业技能课。
第一部分 课程概述
一、 课程标识
课程代码
03222021
课程名称
ASP.NET程序设计
开设学期
第 二 学年第 二 学期
英文名称
ASP.NET Programming
适用专业
计算机应用技术
周课时量
6
周/学期
16
总课时量
96
学分
6
理论课时
32
实践课时
64
作业次数
0
报告次数
6
版本
V1.0
修订人
郭清菊
修订日期
2012.04
审核人
二、 课程性质与地位
随着因特网的兴起和以网站为载体的网络信息的广泛传播,网站制作技术已成为信息技术人员必须掌握的职业技能之一。 ASP.NET 是目前非常流行的开放式的Web服务器的应用网站开发技术。它将脚本、超文本和强大的数据库访问功能结合在一起,提供了比WEB更为丰富的实用性和易用性功能。
《ASP.NET程序设计》课程是计算机应用技术专业的一门核心专业课,也是一门职业技能课。是C#程序设计语言、关系数据库和动态网页设计等课程的综合应用。课程内容注重Web应用程序设计的一般过程和步骤,以及网站开发过程用的实用技术。课程对理论知识和实践环节的要求都较高。其前修课程为《初级网页设计》《Visual Basic.NET程序设计》以及《SQL Server数据库技术》。
通过本课程的学习,使学生掌握开发ASP.NET程序的基础知识和基本方法,对网络程序设计有一个全面的认识和了解,并能够独立自主开发MIS系统(信息管理系统)、BBS等网络应用程序。
三、课程的基本理念
本课程主要采用自主创新的四层教学模式,实际课题引入、案例教学、实践教学、实训教学,简单明确,通俗易懂,使学生更加容易理解和接受。案例为基本素材,实践、实训为基本教学手段,将学习者引入特定的真实情境中,通过师生、生生之间,双向和多向互动,积极参与,平等对话和研讨的方式进行教学,从而重点培养学生的动手能力、自主创新能力、团队协作能力以及适应社会变化的能力,达到职业教育的最终目标。
四、课程标准的设计思路
1、采用具有较鲜明特色的教材;
2、进一步加强与软件企业的联系,使更多学生能在学习该课程后为软件企业或企事业单位进行动态网站建设;
3、完善题库的分类建设,分为练习库、单元考试题库、模拟考试题库、期末考试题库、补考题库;
4、增加互动性课件,为学生提供更加实际的课外学习环境。
第二部分 课程目标
1、能力目标
1. 能利用ASP.NET对网站进行简单的编辑;
2. 会使用ASP.NET中的各类控件;
3. 能够利用ASP.NET访问和绑定数据;
4. 会利用ASP.NET制作小型的动态网站。
其中包括:
l 学习能力:树立学生Web应用程序设计思想,掌握.NET技术精髓,能灵活运用ASP.NET开发各种Web项目;通过引入IT (软考、微软认证)认证方式,积极拓展第2课堂,培养学生研究性和创新性学习能力。
l 职业能力:课程教学内容的选取是根据岗位实际工作任务所需要的知识、能力、素质要求。 通过ASP.NET程序设计课程学习,培养学生对于web应用软件及网站的规划和开发能力。而这些能力是从事软件技术行业就业岗位最为重要和基本的能力。
2、知识目标
1. 了解ASP.NET支持的语言,及其工作原理;
2. 掌握C# 语言的基本知识;
3. 掌握常用的HTML标记和语法,以及网站中各种对象的定义和应用;
4. 了解创建Web窗体的方法;
5. 掌握配置ASP.NET应用程序的方法。
3、情感目标
具有认真负责、吃苦耐劳、实事求是的工作态度和严谨细致的工作作风、良好的职业道德、极强的团队协作、沟通能力。
第三部分 内容标准
一、 阶段内容标准
第一单元 A入门
(一)教学目的和要求:
1.了解网络的基础知识
2.掌握Web应用程序的特点
3.掌握ASP.NET开发工具和环境的安装配置
4.了解新建一个网站的基本流程
(二)教学重点难点:
Web应用程序的特点
(三)主要内容
第一部分 网络基础知识
第二部分 Web应用程序的特点
第三部分 开发环境介绍
第四部分 简单网站开发流程
第二单元 C#基础
(一)教学目的和要求:
1. 掌握C#语言的特点
2. 掌握面向对象编程的基本概念
3. 能熟练运用C#语言进行简单程序设计
(二)教学重点难点
1. 面向对象的基本概念
2. 继承和多态的概念及应用
(三)主要内容
第一部分 数据类型和表达式、变量和参数、流程控制
第二部分 类、方法、域和属性、继承和多态
第三单元 简单网站开发
(一)教学目的和要求:
1. 掌握站点导航控件的应用
2. 掌握网站成员管理
3. 理解网站主题设计
(二)教学重点难点
重点:
1. 站点导航控件
2. 网站成员管理
难点:站点导航控件、网站成员管理
(三)主要内容
第一部分 三种导航控件的用法
第二部分 母版页的使用
第三部分 用户管理(登录、注册、密码修改)
第四部分 网站主题设计
第五部分 站点地图文件
第四单元 HTM控件和Web服务器控件
(一)教学目的和要求:
1. 掌握常用的HTML控件的使用方法
2. 掌握常用Web服务器控件的使用方法
3. 掌握Web表单验证控件的使用方法
4. 理解用户控件和自定义控件
(二)教学重点难点
重点:
1. Web服务器控件的使用
2. 表单验证控件的应用
3. 用户控件
难点:
1. 控件绑定数据的方法
2. 用户自定义控件的使用
(三)主要内容
第一部分 HTML控件
第二部分 Web 服务器控件
第三部分 Web验证控件
第四部分 用户自定义控件
第五部分 控件的数据绑定
第五单元 ASP.NET内置对象
(一)教学目的和要求:
4. 了解ASP.NET内置对象的特点
5. 掌握常用ASP.NET内置对象的使用场景和方法
(二)教学重点难点
重点:ASP.NET内置对象的应用场景和方法
难点:ASP.NET内置对象的属性和方法及事件
(三)主要内容
第一部分 ASP.NET内置对象概述
第二部分 Page对象
第三部分 Response对象
第四部分 Request对象
第五部分 Server对象
第六部分 Session对象
第七部分 Cookie对象
第八部分 Application对象
第六单元 数据访问技术ADO.NET
(一)教学目的和要求:
6. 熟练掌握SQl语句的书写
7. 熟练掌握连接数、断开据环境的访问方法
8. 理解数据源控件的应用方法
(二)教学重点难点
重点:
9. 连接环境下数据的读、写方法
10. 使用DataSet和DataAdapter实现断开连接访问数据
11. 调用存储过程
难点:断开连接环境下的数据访问
(三)主要内容
第一部分 SQL语句
第二部分 存储过程
第三部分 数据库连接管理
第四部分 Connection对象、Command对象
第五部分 DataReader对象、DataSet对象、DataAdapter对象
第六部分 数据源控件
第七单元 XML与Web服务
(一)教学目的和要求:
1. 掌握XML基本语法知识
2. 掌握XML数据源的访问
3. 理解Web服务体系结构
(二)教学重点难点
重点:
1. 访问XML 文件的方法
2. 开发简单的WebService和客户端程序
难点:访问XML文件和Web服务体系结构
(三)主要内容
第一部分 XML语法
第二部分 访问XML文件
第三部分 Web服务体系结构
第四部分 Web Service开发
第八单元 配置应用程序
(一)教学目的和要求:
1. 理解应用程序配置文件
2. 掌握全局应用程序类的设计
3. 理解应用程序安全配置
4. 掌握网站的部署于发布
(二) 教学重点难点
重点:
1. 全局应用程序类事件编码
2. 配置文件设置
难点:配置文件
(三)主要内容
第一部分 配置Web.Config文件
第二部分 全局应用程序类Global.asax
第三部分 事件编码
第四部分 应用程序安全
第五部分 发布网站
二、综合性内容标准
加强学生计算机应用能力的培养,改变传统的讲、听、练的教学方式,才用“以工作过程为导向,以实训项目为载体,以讲、练、作合一为教学手段”的教学模式。采用上课前就给学生布置与实际应用有关的课程设计题目。使学生带着问题去学习、去实践,使学生在整个教学过程中处于主动学习的地位,培养学生带着问题查找资料,培养再学习的能力,以适应未来的行业岗位的变化与要求的提高。题目可由有实践经验的教师指导完成并写出报告,从而提高学生的应用能力。改革原有的应试教育模式,建立现代素质教育模式。培养接受型人才向有创新意识、实践能力的复合式、高技能型人才转变的实践教学模式。在这种教学模式中教师充当学生的组织者、指挥者、帮助者和促进者。为学生制造良好的实践情境,使学生在相互协作中发挥自己的主导作用,充分的进行独立思考、主动思维,使个性得到了发展。学生是认知的主体,学习不再强调对知识的机械记忆而是培养学生获取、分析、处理信息的能力,运用知识的创新能力。
借助于实践教学平台,使教学空间不再局限于教室,教学可以从听、触等诸多方面展开,不仅教师的教学方法通过多方面进行,学生的学习、探索、师生之间、学生之间的交流也可以在实践过程中得以实现。从而大大提高学生的综合素质。
第四部分 实施建议
一、 教材选取建议
1.教材选取要以能力训练为主线,注重教材与实际的衔接。
2.教材应体现职业教育特点和现代意识,关注计算机发展、网络更新。
3.教材要增大案例比例,以案例教学增强学生对知识点的理解和对技能的掌握。
4.教材应附和职业技术类院校学生参差不齐的发展特点,适应学生的认知水平,密切联系学生的经验世界和想象世界,有助于激发学生的学习兴趣和创新精神。
5.教材案例要具有典范性,风格丰富多样,难易适度,适合学生学习。
6.教材应注意引导学生掌握计算机学习的方法。有利于学生自我学习、终身学习的能力培养。
7.教材内容的安排,应避免繁琐化,应突出重点,条理清楚,知识点明确,有利于学生学习语法。
8.教材的体例和呈现方式应避免模式化,鼓励灵活多样,注意为学生主体要有互动性和对性。
9.教材要有开放性和弹性。在合理安排基本课程内容的基础上,给教师留有开发、选择的空间,也为学生留出选择和拓展的空间,以满足不同学生学习和发展的需要,促进学生提高自身创新能力。
三、 课程资源的开发与利用
1.A课程资源包括课堂教学资源和课外学习资源,例如:教科书、电子教案、电子课件、多媒体的利用等等。教学文件、实验指导、案例分析、在线实践系统、网上答疑 、学生作品、学习园地。
2.学校应积极创造条件,努力为教学配置相应的设备;还应当争取社会各方面的支持,与社区建立稳定的联系,给学生创设实践的环境,为学生提供良好的实习环境。
3.计算机教师应高度重视课程资源的开发与利用,创造性地开展各类活动,增强学生的编程观念、创新意识,多方面提高学生的网站设计能力。
四、 教学建议
建议以使用四层教学模式为整体教学理念,即一层:课题引入;二层:案例教学;三层:实训教学;四层:实训。这种教学模式有利于学生对知识点的理解和掌握,更有利于学生的终生学习。
在具体的教学过程中,建议使用以“操作训练为中心环节的启、讲、范、练、评、展的专业技能教学六步法”,构建“以学生为主体,教师为主导,操作训练为主线”的课堂教学模式,有效地发挥了专业技能课堂教学的主渠道作用,也体现了素质教育的目标。
①、启:“启”往往与“发”联系在一起,这正是师生有机结合的两个方面。“启”是老师启迪学生兴趣的教学行为,其目的是调动学生学习的积极性,使之乐学。
②、讲:即讲授新知识。
③、范:即示范表演。
④、练:操作训练过程是整个技能课教学的中心环节,是学生对所学专业知识的运用过程。
⑤、评:是对操作训练成果进行评价。
⑥、展:是对学生的操作训练成果进行展示、展览。
建议使用项目任务教学法。任务教学是教师把教学内容设计成一个或多个具体的任务,学生通过完成一个个具体的任务,将所学的知识与技能真正内化。学生完成任务的过程是不断提出问题、解决问题的过程,而教师在这一过程中进行启发、引导和交流。使学生更易掌握教学内容,能够激发学生学习的兴趣,提高学生的主动参与意识,培养学生注重掌握方法的意识和创新意识。对学生起到驱动作用。
根据以上三点建议制作教学分配表如下:
本课程教学总时数为96学时,其中,理论课时32学时,实验、实践课时64学时,具体课时分配见表一、表二:
表一:理论课时分配表
单元
教学内容:
学 时
第一单元
A入门
1
第二单元
C#基础
4
第三单元
简单网站开发
4
第四单元
HTML控件和Web服务器控件
6
第五单元
ASP.NET内置对象
4
第六单元
数据库访问技术ADO.NET
8
第七单元
XML与Web 服务
3
第八单元
配置应用程序
2
合 计
32
表二:实验实践课时分配表
序
号
实验项目名称
主要内容
每组人数
实验学时
实验类型
必做选做
1
Web应用程序的开发流程
1、Web程序的常用开发工具
2、Web程序的开发过程
3、Web程序的调试
1
2
验证
必做
2
配置ASP.NET的运行环境
1、熟悉IIS和Visual Studio2005 A2、SP.NET+SQL Server的开发环境配置
1
2
验证
必做
3
站点导航与网站成员管理
1、学习三种站点导航控件的使用方法;
2、练习网站成员管理
1
4
设计
必做
4
文本输入控件和选择框控件
1、练习文本框、标签的使用方法
2、单选按钮、复选框的使用方法
1
2
设计
必做
5
列表框控件和按钮控件
1、练习下拉列表、列表框
2、按钮控件的使用方法
1
2
设计
必做
6
表单验证控件
1、常用的Web表单验证控件及其用法
2、自定义验证控件的用法
1
6
设计
必做
7
Request和Response对象
Page、Request、Response三个对象的使用方法
1
4
设计
必做
8
Session和Application对象
Application、Session、Cookie三个状态对象的使用方法
1
6
设计
必做
9
SQL语句
1、SQL语言中的Select、Insert、Update、Delete语句
2、存储过程
1
4
设计
必做
10
连接环境访问数据
1、ASP.NET中利用ADO.NET连接、查询和修改数据库
2、Connection、Command、DataRe ader对象的用法
1
6
设计
必做
11
断开连接环境访问数据
1、使用DataAdaptert实现断开连接访问数据
2、使用DataAdapter和DataSet实现断开连接访问数据
1
6
设计
必做
12
实现简单的Web服务
1、XML代码的编写
2、编写和使用.NET中的Web服务
1
4
设计
必做
13
学生课程管理系统
完成一个简单的基于Web的学生课程管理系统
5
16
综合
必做
技能训练
在本课程学习过程中,学生应实训用1周,计35学时。
第五部分 课程考核建议
鉴于课程特点及其教学模式,本课程分课堂教学和实践教学两部分各占50%的比例进行考核。
课堂教学分平时成绩和期末考试成绩。期末成绩占总成绩30%;平时成绩占总成绩20%,按学生出勤、课堂表现、作业、回课等等评定。
实践教学课内实训成绩和课外项目训练成绩。课外项目训练成绩占总成绩30%,通过答辩按照项目组间互评和项目组内自评相结合方式评定;课内实训成绩占总成绩20%,按学生出勤、课堂表现、实训报告、回课等评定。
第六部分 参考项目设计
能力训练项目设计
编号
能力训练项目名称
拟实现的能力目标
相关支撑知识
训练方式手段及步骤
结果(可展示)
1
ASP.NET的运行环境的安装和配置
(1)掌握ASP.NET运行环境的安装;
(2)熟悉ASP.NET应用程序的配置;
(3)掌握Web页的发布。
(1)ASP.NET运行环境的安装。
(2)配置ASP.NET应用程序。
(3)安装IIS,发面Web页。
利用网络多媒体教室,建立服务器和工作站环境。
ASP.NET安装;并能正常使用。
2
C#编程
(1)掌握C#的数据类型,以及变量、常量的定义;
(2)掌握C#的条件语句、循环语句的使用;
(3)掌握C#类的属性和方法的使用。
(1)利用C#编程建立网页。
(2)在服务器环境下测试网页效果。
(1)使用常用的服务器控件。
(2)测试服务器控件的使用效果。
能够利用C#编程建立网页。
3
用HTML+CSS语言制作网页
(1)了解HTML的基本语法和结构;
(2)熟悉HTML的各种标记以及其中的一些属性;
(3)掌握CSS结构及应用;
(4)通过该实验,对HTML有更深入的了解。
(1)建立HTML网页。
(2)使用CSS美化网页。
利用网页制作工具建立好网页后,上传到机房指定的服务器空间,体现HTML网页的制作过程。
个人主页
4
web服务器控件的应用—校友通信录
(1)了解ASP.NET服务器控件的属性和方法;
(2)掌握ASP.NET服务器控件的使用。
(1)使用常用的服务器控件;
(2)测试服务器控件的使用效果。
利用网页制作工具的服务器行为命令使用服务器控件,在服务器环境下测试,学习服务器控件 的使用技巧。
能够利用
WEB服务器控件制作简单的动态页面。
5
使用验证控件实现用户注册
个人主页上添加密码验证和注册功能
(1)进一步掌握服务器控件的使用;
(2)掌握服务器控件中验证控件的使用。
(1)建立用户验证表单,学习验证控件的使用方法;
(2)测试验证控件的使用效果。
利用网页制作工具的服务器行为命令使用验证服务器控件建立用户登录表单,在服务器环境下测试,学习服务器验证控件的使用技巧。
个人主页上实现验证和注册功能。
6
内置对象的应用为个人主页添加“统计在线人数”功能
(1)熟悉和了解ASP.NET的内置对象request、response、application、session、server、cookies;
(2)通过编写计数器和邮件发送程序掌握内置的使用。
(1)使用ASP.NET的主要内置对象;
(2)测试内置对象的使用效果。
利用网页制作工具使用ASP.NET的内置对象,在服务器环境下测试,学习内置对象的使用技巧。
个人主页能够显示“统计在线人数”功能
7
ADO.NET数据库编程为个人主页添加新闻发布功能
(1)掌握数据库的建立基本操作; (2)掌握ASP.NET中数据库的连接方法;
(3)熟悉SQL语句;
(4)掌握ASP.NET中数据库编程
(1)建立用户注册表单;
(2)建立用户登录表单
(3)建立数据库连接;
(4)对用户信息进行管理;
(5)测试数据库编程的效果。
利用网页制作工具使用数据库编程,建立数据库连接,在服务器环境下测试数据库程序的运行情况,学习数据库连接的技巧。
个人主页能够实现新闻发布功能,并能够进行修改
8
数据列表控件应用--更新个人职业技能课。系统
掌握对Global.asax 文件和Web.config文件的配置
(1)配置Global.asax 文件
(2) 配置Web.config文件
(3)测试Global.asax 文件和Web.config文件的配置后的效果。
利用网页制作工具对Global.asax 文件和Web.config文件进行配置,在服务器环境下测试的运行情况,学习Global.asax 文件和Web.config文件的配置技巧。
可以对整个网站的配置进行设置;
设置整个网站。
9
建立一个网络论坛,
在个人主页上添加网络论坛
学生能够利用所学过的所有知识,开发一个简单的网站。
(1)进一步巩固网页制作技巧;
(2)进一步掌握ASP.NET中数据库编程;
(3)掌握ASP.NET网站制作流程。
利用网页制作工具制作网站,在服务器环境下测试网站的运行情况,学习网站的制作过程。
可以看到完整的网站成品。
附录资料:
Ehcache缓存配置
简介
Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。
你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中配置。以下是运行时配置的好处:
· 在同一个地方配置所有的Cache,这样很容易管理Cache的内存和磁盘消耗。
· 发布时可更改Cache配置。
· 可再安装阶段就检查出配置错误信息,而避免了运行时错误。
本文将会对ehcache.xml配置文件进行详细的阐述。在配置的时可以拷贝一个现有的ehcache.xml,如果没有请点击这里去下载。
ehcache-failsafe.xml
如果你调用了CacheManager默认构造方法去创建CacheManager的实例,此方法会到classpath中找ehcache.xml文件,否则它会到类路径下找ehcache-failsafe.xml文件。而ehcache-failsafe.xml被包含在jar包中,所有它肯定能找的到。
ehcache-failsafe.xml提供了一个非常简单的默认配置,这样可以使用户在没有创建ehcache.xml的情况下使用Ehcache。
不过这样做Ehcache会提醒用户创建一个正确的Ehcache配置。
ehcache.xml片段:
<ehcache>
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
ehcache.xml和其他配置文件
在Ehcache-1.6之前的版本,只支持ASCII编码的ehcache.xml配置文件。在Ehcach-1.6之后版本中,支持UTF8编码的ehcache.xml配置文件。因为向后兼容,所有采用ASCII编码的配置文件完全没有必要转换为UTF8。
一个CacheManager必须要有一个XML配置。由于磁盘路径或是监听端口,多个CacheManager使用同一个配置文件时会出现错误。
下面是ehcache.xml具体实例以及配置指南
<ehcache xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
· CacheManager配置
DmulticastGroupPort=4446,这样可以配置监听端口。
· DiskStore配置
如果你使用的DiskStore(磁盘缓存),你必须要配置DiskStore配置项。如果不配置,Ehcache将会使用java.io.tmpdir。
diskStroe的“path”属性是用来配置磁盘缓存使用的物理路径的,Ehcache磁盘缓存使用的文件后缀名是.data和.index。
<disStore path=”java.io.tmpdir”/>
· CacheManagerEventListener配置
我们通过CacheManagerEventListenerFactory可以实例化一个CacheManagerPeerProvider,当我们从CacheManager中added和removed Cache时,将通知CacheManagerPeerProvider,这样一来,我们就可以很方面的对CacheManager中的Cache做一些统计。
注册到CacheManager的事件监听类名有: adding a Cache和removing a Cache
<cacheManagerEventListenerFacotory class=”” properties=””/>
· CacheManagerPeerProvider配置
在集群中CacheManager配置CacheManagerPeerProviderFactory创建CacheManagerPeerProvider。具体的实例如下:
<cacheManagerPeerProviderFactoryclass="net.sf.ehcache.distribution.
RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual, rmiUrls=//server1:40000/sampleCache1|//server2:40000/sampleCache1| //server1:40000/sampleCache2|//server2:40000/sampleCache2"
propertySeparator="," />
· CacheManagerPeerListener配置
CacheManagerPeerListener配置是用来监听集群中缓存消息的分发的。
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=fully_qualified_hostname_or_ip,
port=40001,
socketTimeoutMillis=120000"
propertySeparator="," />
· Cache配置
· name:Cache的唯一标识
· maxElementsInMemory:内存中最大缓存对象数。
· maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。
· eternal:Element是否永久有效,一但设置了,timeout将不起作用。
· overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中。
· timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
· timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大。
· diskPersistent:是否缓存虚拟机重启期数据。(这个虚拟机是指什么虚拟机一直没看明白是什么,有高人还希望能指点一二)。
· diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
· diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
· memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。这里比较遗憾,Ehcache并没有提供一个用户定制策略的接口,仅仅支持三种指定策略,感觉做的不够理想。
· Cache Exception Handling配置
<cacheExceptionHandlerFactory class="com.example.ExampleExceptionHandlerFactory" properties="logLevel=FINE"/>
总结
这里只对通用缓存的配置做了详细的阐述,至于RMI缓存和集群缓存可以参考这里。
下面给出几个配置示例:
· Ehcache默认Cache配置
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
· SampleCache1配置
简单配置,在ehcache.xml文件中有此配置,在使用Ehcache前最好将其删除掉,自己配置。
缓存名sampleCache1,内存中最多可缓存10000个Element,其中的element会在闲置5分钟或是存活10分钟之后失效。
超过10000element时,element将会输出到磁盘中,输出路径是java.io.tmpdir。
<cache name="sampleCache1"
maxElementsInMemory="10000"
maxElementsOnDisk="1000"
eternal="false"
overflowToDisk="true"
diskSpoolBufferSizeMB="20"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
/>
· SampleCache2配置
Cache名为SampleCache2,内存中最多可以缓存1000个element,超出1000不能输出到磁盘中。缓存是永久有效的。
<cache name="sampleCache2"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
memoryStoreEvictionPolicy="FIFO"
/>
· SampleCache3配置
Cache名为SampleCache3。可缓存到磁盘。磁盘缓存将会缓存虚拟机重启期的数据。磁盘缓存失效线程运行间隔时间是10分钟。
<cache name="sampleCache3"
maxElementsInMemory="500"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
diskPersistent="true"
diskExpiryThreadIntervalSeconds="1"
memoryStoreEvictionPolicy="LFU"
/>
· sampleDistributedCache1配置
Cache名为sampleDistributedCache1。
<cache name="sampleDistributedCache1"
maxElementsInMemory="10"
eternal="false"
timeToIdleSeconds="100"
timeToLiveSeconds
展开阅读全文