灌溉梦想,记录脚步

用JSP实现数据库图片的存储与显示实例

  1. 序言
  数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示。
  通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息。但是,如果我们想动态的显示图片,上述方法就不能满足需要了。我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片。实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示。
  2. 建立后台数据库
  if exists (select * from dbo.sysobjects
  where id = object_id(N'[dbo].[p]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
  drop table [dbo].[p]
  GO
  Create TABLE [dbo].[p] (
  [picid] [int] IDENTITY (1, 1) NOT NULL ,
  [picname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  [pic] [image] NULL
  ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  GO
  3.向数据库存储二进制图片
  启动Dreamweaver MX后,新建一个JSP文件。其代码如下所示。
  <%@ page contentType=”text/html;charset=gb2312″%>
  <%
  String path = request.getContextPath();
  String basePath = request.getScheme()+”://”+request.getServerName()
  +”:”+request.getServerPort()+path+”/”;
  %>
  <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  <html>
  <head>
  <base href=”<%=basePath%>”>
  <title>My JSP ‘InputImage.jsp’ starting page</title>
  <meta http-equiv=”pragma” content=”no-cache”>
  <meta http-equiv=”cache-control” content=”no-cache”>
  <meta http-equiv=”expires” content=”0″>
  <meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″>
  <meta http-equiv=”description” content=”This is my page”>
  <!–
  <link rel=”stylesheet” type=”text/css” href=”styles.css”>
  –>
  </head>
  <body>
  <form action=”testimage.jsp” method=”POST”><br>
  题目<input name=”picname” type=”text”><br>
  图片<input name=”pic” type=”file”><br>
  <input type=”Submit” name=”button1″ value=”提交”><br>
  </form>
  </body>
  </html>
  将此文件保存为InputImage.jsp文件,其中testimage.jsp文件是用来将图片数据存入数据库的,具体代码如下所示:
  <%@ page contentType=”text/html;charset=gb2312″%>
  <%@ page import=”java.sql.*” %>
  <%@ page import=”java.util.*”%>
  <%@ page import=”java.text.*”%>
  <%@ page import=”java.io.*”%>
  <jsp:useBean id=”conn” scope=”page” class=”dbconn.DBResult”/>
  <%
  String path = request.getContextPath();
  String basePath = request.getScheme()+”://”+request.getServerName()+
  ”:”+request.getServerPort()+path+”/”;
  %>
  <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
  <html>
  <head>
  <base href=”<%=basePath%>”>
  <title>My JSP ‘testimage.jsp’ starting page</title>
  <meta http-equiv=”pragma” content=”no-cache”>
  <meta http-equiv=”cache-control” content=”no-cache”>
  <meta http-equiv=”expires” content=”0″>
  <meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″>
  <meta http-equiv=”description” content=”This is my page”>
  <!–
  <link rel=”stylesheet” type=”text/css” href=”styles.css”>
  –>
  </head>
  <body>
  <%
  request.setCharacterEncoding(“gb2312”);
  //建立Statement对象
  String picname=request.getParameter(“picname”);
  String pic=request.getParameter(“pic”);
  //获得所要显示图片的标题、存储路径、内容,并进行中文编码
  FileInputStream str=new FileInputStream(pic);
  String sql=”insert into p(picname,pic) values(?,?)”;
  PreparedStatement pstmt=conn.getPreparedStatement(sql);
  pstmt.setString(1,picname);
  pstmt.setBinaryStream(2,str,str.available());
  pstmt.execute();
  //将数据存入数据库
  out.println(“Success,You Have Insert an Image Successfully”);
  %>
  </body>
  </html>

选择黑莓

  这是一款名不虚传的从商界到名流都在超广泛使用的世界级顶级商务机!
  一.BlackBerry 的信号是世界上最好的
  它是为了全球商务漫游而设计的全球性智能手机,所以在各国的信号兼容性都很好,4频段网络( 850/900/1800/1900 ),相对号称信号最好的诺基亚手机信号要强 20-30% 但其发射功率(辐射)仅有诺的2/3( 0.86w/kg ) 辐射值远低于欧美发达国家的标准(美国 1.6w/kg 、欧盟 2.0w/kg ),在通话质量和低辐射方面黑莓确实是极好的选择!
  二.实用的功能,简单而全面
  大家平常见到的手机 无论哪个品牌的机器 是不是都存在很多,可能永远用不上的功能呢,而很多平常用的上的功能设计的却很粗糙,简单.这就是黑莓精良之处,他的功能不多,但一点也不少,用户可能用的上的功能他都已经绝对的具备了,而且每一个功能都是反复研究设计的,人性化程度相当高,方便,好用。如果你需要的功能原厂没有附带,不用担心,黑莓具有较高的硬件配置加上其作为智能机出色的扩展性,基本都可以机器安装,国内的QQ,MSN,大智慧,金山词霸等国内外所有JAVA/Cod软件基本都可以后装(也就是说黑莓的软件是无数的,您能想到的他都可以后装,不需要就删掉,很方便)
  三.出色的工艺决定了黑莓的耐用
  黑莓的硬件工艺无论国内还是国际,在业内没有人会否认它的出色和精良,每一个细节,小到按键,大到从芯片即使是行外人看一眼也知道做工有多精良,据粗略数据统计,黑莓应该是继夏普之后世界上返修率倒数第二的手机
  四.高清大尺寸屏幕
  8系列黑莓(包括7105T 7130)以及现在新出的9系列,让我们看到了比 26 万更清晰的 QVGA 屏幕!尤其是现在的9系列机器,显示效果一点不亚于号称显示效果全球最棒的”夏普”!不要用参数来衡量他,看一眼就会爱上他,绝对不输给三星的1600万色屏 而04年设计生产的 72.77 系列它们的无前板 TFT 液晶在阳光直射下也不反光 在当时这是轰动世界的技术之一,随后的71系列实用的第一代真真正正的高清65K色320*260的屏幕再一次突破了极限(可不要拿国内的26万比,那些连71都比不了,这主要是因为国内的指标水分太大)
  五.享誉世界的人性化设计
  黑莓的人性化设计是世界著名的,RIM会为每一类顾客设计出人性化的手机 比如德版的黑莓符合了德国人的习惯YZ/AZ是倒置的,还有惊人的 全自动灯光/背光设计,自动开关机,全自动在GSM/GPRS/EDGE三网之间择优切换,为年轻人设计的黑莓键(8系列轨迹球系统),还有象征黑莓的侧置滚轮+全键盘输入 一切为了方便,将人性化做到底
  六.黑莓的 Java 软件支持
  黑莓手机属于智能手机,其软件也是很多的,也是能支持计算机最高级语言–汇编语言 自编软件的极少数智能机可见其机能之强已接近计算机
  七.稀有网络,领先尝试
  在国外有一种网络叫做EDGE网络,就是移动宽带网络(GPRS增强网络)其实国内也已经开通了这个网络,走GPRS流量不单收费的,没有多少手机支持EDGE所以很优秀的一个网络很闲置,黑莓会自动在GSM/GPRS/EDGE网络中择优切换,不用设置,所处网络有高速,就直接上高速,没有高速,自动GPRS,方便!实用!
  八.Qwerty+SureType让打字速度吓死人
  黑莓是世界上最早使用Qwerty全键盘并在后来借鉴Qwerty技术开发出71 81系列Mini全键盘的公司 全键盘的设计毋庸多说,大字速度本身就要比普通手机快一些,而黑莓的专利技术SureType联想输入法让黑莓如虎添翼,有了SureType的黑莓无论输入中文还是英文时,用户只要直接一整句话打下来就好了 它会自动为您拼写好前面相关的词组或单词(类似于微软拼音输入法)稍微能熟练使用的用户100汉字/分钟是很轻松就可以达到的。这决不是瞎说!
  备注:很多人可能觉得从技术指标上看,黑莓也没有那么惊人的出奇阿,但是别忘了,黑莓用的是国际标准化指标,而国内大都在虚标,这种现象不仅存在于杂牌机,大牌机从来不会在大型广告中说自己是26万色而只说是高清就是怕一旦出台相关行业标准会比较有麻烦,实际上26万色屏幕全国也没有几款是,现在最好的屏还是1600万 Qvga 320*240的屏 类似D908 U608 E61I

cacti添加apache状态信息

  对Apache Server Status的启用状态信息
  对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so,所以这个需要有
  然后打开下面的配置
  ExtendedStatus On
  配置Apache Server Status的权限
  <location /server-status>
  SetHandler server-status
  Order Deny,Allow
  Deny from all
  Allow from 10.0.10.22
  </location>

  下载CACTI模板和脚本
  http://forums.cacti.net/about25227.html&highlight=apachestats
  在上面的地址下载一个叫 ApacheStats08.zip的,中间有二个文件,一个处理脚本php的,另一个是xml的文件.
  1.其中的ss_apache_stats.php是脚本文件,它是一个php的文件,放到你的cacti/scripts/下面.
  2.接下来在cacti界面导入cacti_host_template_webserver_-_apache.xml这个文件
  3.你就可以在cacti中加入这些设置.就不细写了,如下
  被监测的apache服务器需要向上面一样,打开mod_status功能,记的设置好权限访问

系统平均负载(Load average)

  

        在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出.
  系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。
  如果一个进程满足以下条件则其就会位于运行队列中:
  - 它没有在等待I/O操作的结果
  - 它没有主动进入等待状态(也就是没有调用’wait’)
  - 没有被停止(例如:等待终止)
  例如:
  [root@www2 init.d]# uptime
  7:51pm up 2 days, 5:43, 2 users, load average: 8.13, 5.90, 4.94
  命令输出的最后内容表示在过去的1、5、15分钟内运行队列中的平均进程数量。
  一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。对于上面的例子来说,假设系统有两个CPU,那么其每个CPU的当前任务数为:8.13/2=4.065。这表示该系统的性能是可以接受的。
 

超详细 Windows 7 与 XP、Vista 特性对照表

windows_7 windows_xp windows_vista
w7

15款语言学习2.0网络服务

语言的学习,除了平时基本的普通的听说读写练习外,加上网络的帮助或许对您来说会事半功倍,下面就为大家总结15款对您进行语言学习会有所帮助的网络服务及应用。
包括语言学习 SNS、单词学习与记忆、互助翻译等几类。

语言学习 SNS
1. 爱拓奇(italki)

WebApp副刊:15款语言学习2.0服务 [#8] - 爱拓奇(italki) - by sfox

爱拓奇(italki) 是一个免费的语言学习社交网络和学习资源平台,在爱拓奇您可以:

  1. 寻找世界各地的语言伙伴,并在线实时交换练习对方的母语;
  2. 找到最好的语言学习资源:网站、在线课程、语言播客、视频、词典、软件、CD等;
  3. 预览和下载大量学习外语的文档、讲义,也可上传您自己的学习文档与大家分享;
  4. 提问语言学习方面的问题,也可以答题帮助别人学习你的母语;
  5. 参与编辑维基课本,帮助人们学习语言,也可创建自己的独立页面,贡献语言知识;
  6. 创建和加入一个有关语言学习的小组,结交来自世界各地的朋友,了解异国文化;
  7. 还有很多有趣而实用的有关语言学习的功能。(详细介绍

网站链接:http://www.italki.com/

2. Sanbit

WebApp副刊:15款语言学习2.0服务 [#8] - sanbit - by sfox

Sanbit 是创新的 Web 2.0 式语言学习互动平台,支持中文显示,能帮助您有效而快速地学习和练习外语,并加强听、说、读、写等各方面的能力。您可以浏览和创建新词汇及词汇表、阅读并学习文章、练习写作与听力、使用录音练习口语、提出疑难问题、进行强化知识的游戏、寻找朋友等,还可以通过使用母语写作、录音等为其他学习者提供资源以互相帮助、交流互动、实际运用。(详细介绍

网站链接:http://sanbit.com/

3. Palabea

WebApp副刊:15款语言学习2.0服务 [#8] - palabea - by sfox

Palabea 是一个开放的语言社区,其最大的特色在于您可以加入或自行建立虚拟课堂及学校,与其他用户一起学习并交流经验、资料等,如果您某种语言学得特别好(例如母 语)也可以向他们传授知识课程等。您可以寻找语言伙伴、在线老师、文档资料等,还能通过社区进行交流,互动性十分强。

网站链接:http://www.palabea.net/

4. SharedTalk

WebApp副刊:15款语言学习2.0服务 [#8] - shared talk - by sfox

SharedTalk 是一个致力于语言交换和语言学习的社区,其会员来自全球各地,大家通过聊天交流进行外语的学习与练习。可与来自全球不同国家的朋友进行语音和文本聊天,练 习口语技巧、提高语言能力,还可以寻找最佳的语言交换伙伴。会员可得到属于自己的邮箱,用电子邮件与语言伙伴进行交流练习。(现在好像暂时注册不了,大家 可以继续关注)

网站链接:http://www.sharedtalk.com/

5. 英来网(Englive)

WebApp副刊:15款语言学习2.0服务 [#8] - 英来网(Englive) - by sfox

英来网(Englive) 是一个专注于英语学习的应用与交互的互联网平台, 它为英语学习和爱好者提供了个人的词汇本、语句本、笔记本,行云流水的在线背单词,语句分享,维基笔记,还有同学同事好友列表,学习日历,博客 Widget(博词)等若干有趣和实用的学习资源;同时,英来网还提供完整的Englive iPhone应用移植,为iPhone 用户随时随地的深入学习英文创造无限的可能。(via)

网站链接:http://www.englive.cn/

6. Speak2Me(跟我说)

WebApp副刊:15款语言学习2.0服务 [#8] - Speak2Me(跟我说) - by sfox

Speak2Me(跟我说) 是由灵通集团全新推出的一个产品,是为解决困扰中国学习者多年的”哑巴英语”问题而设计的。公司的研发团队经过5年的精心研究和努力,把先进的英语口语教 育方法和现代语音识别技术相结合,推出了一套全新的英语口语学习系统Speak2Me。在这个系统中,学习者可以在虚拟的英语环境中,与智能机器人 Lucy 练习口语。与目前中国英语教育市场中的其它产品不同,Speak2Me突破了传统口语练习方法的局限和弊端,为学习者提供了一个与模拟外教 “对话”的机会;另外也采用了独特的课程设计方法,使每一个学习者可以对每一课的内容进行反复练习,并不断发现新的语言点,让学习者在一个愉快的环境中轻 松学会英语口语!(via) 网站还设立了方便用户交流的“问问吧”论坛等社区。

网站链接:http://www.speak2me.cn/

7. Lang-8(语言吧)

WebApp副刊:15款语言学习2.0服务 [#8] - Lang-8(语言吧) - by sfox

Lang-8(语言吧) 是一个提供国际间语言交流及联系的社会关系网络服务(SNS)平台。你既可以用正在学习的语言书写日志,精通该语言的朋友会自动帮你修改错误,也可以主动去帮助其他正在学习你精通的语言的朋友。通过Lang-8,每个使用者不仅可以很好的教授和学习语言更能够增进彼此的国际交流。(via)

网站链接:http://www.lang-8.com/

8. Pop English

WebApp副刊:15款语言学习2.0服务 [#8] - pop english - by sfox

PopEnglish 是一个英语学习社区,具备中英文两种语言界面,你可以在上面寻找朋友,进行一对一的帮教,另外还有博客、论坛、Pop群、影音等有益于提高英语水平的栏目,应该说是一个有助于学习英语的好去处。(via)

网站链接:http://www.popenglish.tv/

单词学习与记忆
9. Vocaber

WebApp副刊:15款语言学习2.0服务 [#8] - Vocaber - by sfox

Vocaber 是英语及其它外语单词的在线学习、记忆、测试服务,根据记忆规律提示您进行单词复习,可轻松地创建并分享单词列表,可使用自己和其他人的单词列表进行测 试。您只需要将单词及其意思复制粘贴上去创建一个列表就可以进行测试了,测试的方式就如听写一般,给出中文意思,您输入对应的单词。有进度查看,可随时跟 进。另外,您可以设置单词表是否公开、其他人是否可以纠正和编辑、添加单词等。(详细介绍

网站链接:http://www.vocaber.com/

10. Learn10

WebApp副刊:15款语言学习2.0服务 [#8] - learn10 - by sfox

Learn10 可以帮助您进行单词的学习和记忆,当您成为网站的会员,系统就会每天自动将学习任务发送给您–学习10个新的外语单词,有助于让您形成良好的学习习惯。 需要学习的单词可通过 Facebook, Twitter, Email, RSS, iPhone应用 以及能嵌入到网站或博客中使用的widget 等多种方式为您提供。您还可以进行听力、测试、翻译等练习。

网站链接:http://www.learn10.com/

11. Cramberry

WebApp副刊:15款语言学习2.0服务 [#8] - Cramberry - by sfox

Cramberry 是一款使用闪示卡(Flash Cards)的方式帮助您进行学习记忆的在线工具,可跟踪记忆进度,提供 iPhone 应用。使用方法很简单,添加项目,然后在里面添加卡片,分别在正面(Front)和背面(Back)输入需要学习、记忆的相关内容(单词就是不错的选择)即可,支持简单的字体格式编辑、添加图片等。(详细介绍

网站链接:http://www.cramberry.net/

12. Forvo

WebApp副刊:15款语言学习2.0服务 [#8] - forvo - by sfox

Forvo 是专门学习单词发音的网络服务,涵盖了全球多种语言(目前有200多种,包括粤语),每个单词都有分类,包括语种、用途和属性分类,注册用户可录制新单词 的发音、建立学习列表、评论和为其他用户的发音打分、下载单词发音的MP3文件、与其他用户交流等。可惜的是没有单词翻译功能,部分单词也只是以英语对其 进行解释。

网站链接:http://forvo.com/

13. Lexipedia

WebApp副刊:15款语言学习2.0服务 [#8] - lexipedia - by sfox

Lexipedia 是一款脑图式的在线字典,采用脑图的形式表达中心词及相关词语的关系。我们在学习语法的时候,针对一个词总有很多相关的词,比如同义词、反义词、动词形式 等等,Lexipedia 正是采用这种脑图的形式,很直观的展示各词之间的关系。目前,Lexipedia 提供英、西班牙、法、德、荷兰、意大利六国语言的词库,可输入中心词通过检索得到相关词的脑图,一般包括名词、动词、形容词、副词、同义词、反义词、模糊 这些相关的词组。脑图这种新颖的形式可以很直观的展示各词之间的关系,并提供详细的解释和读音。可帮助记忆单词。(via)

网站链接:http://lexipedia.com/

互助翻译
14. Social Translator

WebApp副刊:15款语言学习2.0服务 [#8] - social translator - by sfox

Social Translator 是刚上线不久的新型社区服务,注册成员可以添加翻译词条、行文和项目,可以发出翻译请求,也可以选择其它词条进行翻译。网站现在有一个颇为庞大的项目构想:翻译网上的视频。(via) 通过这种互助的翻译可提高自己的外语水平,也能帮助他人,与更多的朋友进行交流。

网站链接:http://www.socialtranslator.org/

15. Jollo

WebApp副刊:15款语言学习2.0服务 [#8] - jollo - by sfox

Jollo 可调用Google翻译、有道翻译、SDL、Microsoft翻译、Yahoo宝贝鱼、WorldLingo 等六大主流在线翻译工具来进行翻译,目前支持40多种语言的互相翻译,您可以从六种翻译结果中择优选取,也可对结果进行打分。可自动识别需要翻译的文字语 种。另外,注册用户可添加自己的翻译结果,经常到网站上进行这样的互助翻译锻炼,并通过评分检查翻译效果,也能取得一定的提高。

RRD TOOL安装

  1.下载
  wget http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz
  下载完毕,解压缩:
  tar zxf rrdtool.tar.gz
  cd rrdtool
  2.安装必要的软件
  看看你的机器有没有这些包,cgilib、zlib、libpng、freetype、libart_lgpl,没有就装吧。
  设定环境变量:
  set BUILD_DIR=/tmp/rrdbuild
  set INSTALL_DIR=/usr/local/rrdtool
  开始安装
  安装cgilib
  cd $BUILD_DIR
  wget http://down1.chinaunix.net/distfiles/cgilib-0.5.tar.gz
  tar zxf cgilib-0.5.tar.gz
  cd cgilib-0.5
  make CC=gcc CFLAGS="-O3 -fPIC -I."
  mkdir -p $BUILD_DIR/lb/include
  cp *.h $BUILD_DIR/lb/include
  mkdir -p $BUILD_DIR/lb/lib
  cp libcgi* $BUILD_DIR/lb/lib
  安装zllib
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz
  zlib-1.2.3.tar.gz
  cd zlib-1.2.3
  env CFLAGS="-O3 -fPIC" ./configure –prefix=$BUILD_DIR/lb
  make
  make install
  安装libpng
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
  tar zxvf libpng-1.2.8-config.tar.gz
  cd libpng-1.2.8-config
  env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC"
  ./configure –disable-shared –prefix=$BUILD_DIR/lb
  make
  make install
  安装freetype
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.bz2
  tar zxvf freetype-2.3.5.tar.bz2
  cd freetype-2.3.5
  env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC"
  ./configure –disable-shared –prefix=$BUILD_DIR/lb
  make
  make install
  安装libart_lgpl
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz
  tar zxvf libart_lgpl-2.3.17.tar.gz
  cd libart_lgpl-2.3.17
  env CFLAGS="-O3 -fPIC" ./configure –disable-shared –prefix=$BUILD_DIR/lb
  make
  make install
  如果你用bash/sh/ash/ksh/zsh,就执行下面的:
  IR=-I$BUILD_DIR/lb/include
  CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
  LDFLAGS="-L$BUILD_DIR/lb/lib"
  CFLAGS=-O3
  export CPPFLAGS LDFLAGS CFLAGS
  真的开始安装rrd了
  cd $BUILD_DIR/rrdtool
  ./configure –prefix=$INSTALL_DIR –disable-python && make clean && make && make install
  安装完毕啦。(详细参见rrd安装包中的doc/rrdbuild.txt)