博文
为Tomcat 5.5 安装 Administration Web Applic(2010-07-16 11:08:00)
摘要:什么是
Tomcat Administration Web Application?
Tomcat Administration Web Application 是Tomcat的一个管理员应用程序,它可以管理Tomcat的各
个方面,比如数据源,部署Web应用,环境变量,用户授权等。
为什么要安
装Tomcat Administration Web Application?
Tomcat 5.5 中不包含这个web app,需要用户手动安装。
如
何安装Tomcat Administration Web Application?
一、检查是否已经安装
在浏览器地址栏输入http://localhost:8080/admin,
如果没有安装会出现如下提示
Tomcat’s administration web application is no longer installed by
default. Download and install the “admin” package to use it.
二、去官网下载admin application
下载地址:http://tomcat.apache.org/download-55.cgi
找到Binary
Distributions项下的“Administration Web Application”
提供一个直接的下载链接:http://apache.etoak.com/tomcat/tomcat-5/v5.5.30/bin/apache-tomcat-5.5.30-admin.zip
三、配置到Tomcat中去
将压缩包里的apache-tomcat-5.5.30/server
/webapps/admin目录复制到[tomcat_home]/server/webapps目录下
将压缩包里的apache-tomcat-5.5.30/conf
/Catalina/localhost/admin.xml文件复制到[tomcat_home]/conf/Catalina/localhost目
录下
四、为......
[转]java文件中为什么会有serialVersionUID(2008-05-24 21:20:00)
摘要:一些java类中为什么需要重载 serialVersionUID 属性。在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后重新部署了,那么在这种情况下, 用老软件来读取新文件格式虽然不是什么难事,但是有可能丢失一些信息。
serialVersionUID来解决这些问题,新增的serialVersionUID必须定义成下面这种形式:static final long serialVersionUID=-2805284943658356093L;。其中数字后面加上的L表示这是一个long值。 通过这种方式来解决不同的版本之间的串行话问题。
提纲:
━━━━━━━━
一、概述
二、Java串行化
三、引入版本编号
四、结束语
━━━━━━━━
一、概述
一个程序正式发行出去之后,如果要增加一些新的功能,往往意味着同时要修改用户保存数据的方式,也就是必须更改程序保存文件的格式——通常是增加保存到文件的数据。有些时候,文件格式必须作彻底的改动,以配合实现程序的新功能。从这个意义上看,文件格式的发展/变化总是和程序的功能改进相呼应。
但是,大多数情况下,把原有的数据格式一丢了事是行不通的。动物王国中,不能适应环境意味着死亡;软件领域也相似,新软件是否支持原有的数据格式很大程度上决定了用户是否升级。
不管软件新增/改进了多少功能,不管新的文件格式是多么完美,如果新软件不能利用原来的文件格式,用户一般不太会认可新软件。解决该问题的办法包括:
●保留老代码来读取老文件。采用这种方案一般需要额外编写一些代码,把老文件转换成新的格式(一般地,最简单的办法是先把老文件的数据转换成新的内部对象,然后利用现有的写入新版文件格式的对象)。这种办法的好处是既保留了原有的代码,又使它与新的文件格式兼容。但是,这种办法有时可能导致丢失部分数据,不过总要比丢失全部数据好。
●使新版软件能够读/写老文件格式。这种办法工作量较大,因为程序的新版本一般会增加一些原来没有的功能,老的数据格式中通常缺乏新功能必需的某些数据。
......
开始学习JAVA 虚拟机(2008-03-09 19:31:00)
摘要:本人正在学习JAVA 虚拟机技术,有什么心得体会将第一时间与各位志同道合的朋友们共享.......
mysql学习笔记(2007-10-12 17:30:00)
摘要:set列类型的用法
binary 和char的区别
mysql学习笔记:
=================
字符串:
字符串可以用单引号或双引号引起来。
字符串中的转义字符以'\'开始,如下:
\0 ASCII 0(NUL)字符。
\' 单引号(‘'’)。
\" 双引号(‘"’)。
\b 退格符。
\n 换行符。
\r 回车符。
\t tab字符。
\Z ASCII 26(控制(Ctrl)-Z)。该字符可以编码为‘\Z’,以允许你解决在
Windows中ASCII 26代表文件结尾这一问题。(如果你试图使用mysql db_name
< file_name,ASCII 26会带来问题)。
\\ 反斜线(‘\’)字符。
\% %
\_ _
转义字符对大小写敏感,\b’解释为退格,但‘\B’解释为‘B’。
在字符串内用‘"’引用的‘'’不需要特殊处理,不需要用双字符或转义。同样,在字符串内用‘'’引用的‘"’也不需要特殊处理。
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+---------+-----------+--------+--------+
=====......
Java内存泄漏的一个例子[转](2007-09-30 17:15:00)
摘要:循环申请Object对象,并将所申请的对象放入一个Vector中,如果我们仅仅释放引用本身,那么Vector仍然引用该对象,所以这个对象对GC来说是不可回收的。因此,如果对象加入到Vector后,还必须从Vector中删除,最简单的方法就是将Vector对象设置为null。
Vector v=new Vector(10);
for (int i=1;i......
(转)label 的属性及事例(2007-09-27 23:35:00)
摘要:标识有两个属性,一个是FOR,一个是ACCESSKEY。FOR的意思是,这个Lable是为哪个元件服务的?而 ACCESSKEY则定义了访问这个元件的热键。比如,我们有一个名字叫Name的单行输入框,我们是这样定义这个元件的:,那么,我们的可以如此定义:姓 名(N):。大家可以看见,这个< Label>是为那个ID为“Name”元件服务的,而ACESSKEY则定义了,这访问这个元件的热键为“Alt+N”。
姓 名(N):
电子邮件(E):
联系电话(P):
留 言(S):
可以点击文字选取的多项选择框:
大家在网上看见的一些复选框,单选钮都是要点那个小元件才能达到选择的目的的,有没有可能我们能通过点击复选框或是单选钮来达到选择这个元件的目的呢?答案是显然的,用标识就可以达到这一目标,被所包括的字就是可点击的了。下面有一个示例,同样是用了这个标识符。
经常来这里
偶尔来看看
带热键的多项选择框:
于是,一个带热键的改良型复选框就产生了。
经常来这里(H)
偶尔来看看(L)
......
李开复给中国大学生的第五封信(2007-07-14 08:54:00)
摘要:有一位中国留学生看完了我《写给中国学生的第三封信》后,感触很深,他写了一封信给我说:“很小的时候,我的目标就是长大,长大了做什么,我当时没有想;读小学的时候,父母给我的目标就是考初中,考上初中做什么,我没有想过;读初中的时候,父母给我的目标就是考高中,考上高中做什么,我没有想过;读高中的时候,父母给我的目标就是考大学,考上大学做什么,我没有想过;上大学的时候,父母给我的目标就是要出国,出国做什么,我也没有想过;现在留学拿到了学位,要找工作了,下一步我该做些什么呢?这次,我要好好地想一想。谢谢你的第三封信,它唤醒了我埋藏了25年的进取心,它改变了我25年来被动的生活方式。从今天开始,我要积极主动地为自己而生活!”
当我为这位中国留学生终于理解他“有选择的权利”感到欢欣鼓舞的时候,我不禁想到,还有更多的年轻人依然在被动的道路上迷茫地生活着。在“开复学生网”我每天都看到 “只有你能告诉我,我该怎么做。”的被动思维。
在中国的教育体制下,学生们事事要听从父母和老师的安排,遇到问题也可以直接从父母和老师那里获得帮助,这很容易养成被动的习惯。因此,许多中国年轻人不善于主动规划自己的成长路线,不知道如何积极地寻找资源,使自己的学业和人生迈上更高的阶梯。
另一方面,中国的父母和老师习惯于使用越俎代庖的方式,帮助孩子设计人生规划,这通常会使很多人忽视了自己真正的性格和兴趣,当这些孩子长大以后,他们多半会发现,自己早已迷失在“自我缺失”的海洋里了。
此外,中国的传统文化强调群体意识,大力推崇“从上”、“从众”等行为方式,这些思想潜移默化地影响着一代又一代的青年,以至于许多年轻人觉得,“自主”这两个字是那么陌生和遥远。
所以,消极到积极之路是充满荆棘的。虽然在我的前四封信都有提到积极主动的重要性,我决定特别写一封有关积极主动的信。
为了成为国际化的人才,为了在信息时代发挥自己的最大潜能,每一个有进取心的中国青年都应该努力迫使自己从被动转向主动,大家必须成为自己未来的主人,必须积极地管理自己的学业和未来的事业——没有人比你自己更在乎你的工作与生活,没有人比你自己更适于管理你的人生和事业,只有积极主动的你,才能找到真正的“自我”,才能让自己在成功的道路上永远快乐!
什么是积极主动?
积极主动(Pro-active)这个词最早是由......
李开复给中国大学生的第六封信(2007-07-14 08:48:00)
摘要:人生就是一串困难的选择,是一个不断选择的过程。当我们走过人生的旅程,身后留下来的就是我们选择的结果。如果选择得好,我们会感到快乐和成功,会觉得自己对世界、对他人产生了正面的影响。
当我个人碰到人生重要的选择时,我一直信奉以下的做事三原则:
有勇气来改变可以改变的事情,有胸怀来接受不可改变的事情,有智慧来分辨两者的不同。
多少年来,这句话给了我无比巨大的支持和鼓励,帮助我度过了难以计数的人生关隘。在与中国青年分享这三句话后,有位同学针对这三句话,写信问我:
“读了开复老师的三句话,心里感到很强的共鸣。
“‘有勇气来改变可以改变的事情’代表了用西方式的积极进取的心态,以永不放弃、永不消沉的主动人生态度,鼓励我们靠自己的努力达到目的。
“‘有胸怀来接受不可改变的事情’代表了用中国式的谦恭谨让的度量来培养自己的修养,学会承认和接受真实的、不完美甚至不公正的世界。
“但是我不知道最后一句该如何理解。有智慧来分辨两者的不同,可是,智慧从哪里来呢?”
其实,“有智慧来分辨两者的不同”就是要求我们使用自己的智慧,主动发现并选择最完整、最均衡的状态,并通过这一选择获得成功。这里所说的“智慧”,既是甄别、判断的智慧,也是权衡、折中的智慧,但从根本上讲,它更是在选择中孕育又在选择中升华的最高智慧——我也把它称作“选择成功”的智慧。
在这选择的世纪中,青年学生需要选择的智慧
著名管理学家彼得•德鲁克(Peter Drucker)曾说,二十一世纪是一个选择的世纪,因为未来的历史学家如果回顾今天,他们会记得的、今天最大的改革并不是技术方面或网络方面的革新,而是——人类将拥有选择的权利。他说这句话是因为在今天的信息社会里,人人都能获取信息,学习知识,靠脑力上进,而且越来越多的企业会更多地放权给员工,重视积极选择的员工。人人都有机会,那么人的成功就更要看各人积极地争取和智慧地选择。
这是一个令人振奋的时代,在这样的一个大环境中,每个人都面对着选择的机会,都拥有选择的权利。尤其在中国,这个选择的时代是更难能可贵的。回顾中国的近百年历史,可以说,今天的中国青年学生是百年来第一次有机会享受先进的教育,同时也不必担心生活、安全和温饱问题,他们第一次能够通过互联网获取世界各地的信息,第一次在毕业后拥有如此众多的、......
一个简单的java Mail(2007-06-02 11:10:00)
摘要:package cn.rolia.util;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
/**
* 简单的java mail 类,能实现发送邮件的功能
* @author rolia
*
*/
public class MailUtil{
private String smtp;
private String name;
private String pwd;
private String from;
private String to;
/**
* 构造函数
* @param smtp smtp服务器 如:smtp.163.com
* @param name 用户名
* @param pwd 密码
* @param from 用户邮箱
* @param to 要发送到的邮箱地址
*/
public MailUtil(String smtp,String name,String pwd,String from,String to){
this.smtp=smtp;
this.name=name;
this.pwd=pwd;
this.from=from;
this.to=to;
}
/**
*
* @param title 标题
* @param content 内容
* @return 如果发送成功,返回true,否则返回false
*/
public boolean......
获取文件名的后缀(2007-06-02 11:05:00)
摘要:package cn.rolia.util;
public class FileUtil {
/**获取文件后缀名
* "sss.ss" 返回 "ss"
* "sss." 返回 "."
* "sss" 返回 ""
* @param fileName 文件名
* @return 后缀
*/
public static String getExt(String fileName){
int pos = fileName.lastIndexOf(".");
if(pos==-1)return "";
return fileName.substring(pos, fileName.length());
}
/**
* 获取除去后缀名后的文件名
* @param fileName 文件名
* @return 文件名
*/
public static String getName(String fileName){
int pos = fileName.lastIndexOf(".");
if(pos==-1)return fileName;
else return fileName.substring(0, pos);
}
}
......