JAVA教程之之前编写JSP网站时写的一些工具函数.
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。js|函数初学JSP时,写了一些工具函数由于不太会用JAVA下的正则表达式也只能这么写啦!收回来让人人品评品评提点定见!有几个函数不算是本人写的但愿爱挑剌的伴侣嘴下包涵!我是老手我怕谁,脸皮不可的人程度也上不往呀.嘻嘻..packagemxzc.web.strctrl;
publicclassStringCtrl
{/********************************************
publicsynchronizedStringHTMLcode(StringTXTcode)功效:文本交换
publicsynchronizedStringUnhtmlcode(Stringstr)功效:(不完整)反文本交换
publicsynchronizedStringUnhtmlcodea(Stringstr)功效:反文本交换
publicsynchronizedbooleanemailcheck(Stringemail)功效:反省一个字符串是不是切合E-Mail
publicsynchronizedbooleanisemailstr(Stringemail)功效:反省一个字符串是不是切合E-Mail
publicsynchronizedbooleanisqqstr(Stringqq)功效:反省一个字符串是不是切合QQ
publicsynchronizedbooleanisnumstr(Stringnum)功效:反省一个字符串是不是为一数字串
publicsynchronizedStringuserstrlow(Stringuser)功效:交换用户名中分歧法的部分
publicsynchronizedbooleanuserstrchk(Stringuser)功效:反省字符串是不是切合用户名法例
publicsynchronizedbooleanistelstr(Stringtel)功效:反省字符串是不是为TEL
publicsynchronizedbooleanurlcheck(Stringurl)功效:反省字符串是不是为URL
publicsynchronizedStringisotogbk(Stringiso)功效:ISO9006-1码转换为GBK
publicsynchronizedStringgbktoiso(Stringgbk)功效:GBK码转换为ISO9006-1
publicsynchronizedStringdostrcut(Stringoldstr,intlength)功效:按汉字长换行(英文按半个字长)
publicsynchronizedStringinttodateshow(intdatenum)功效:将1900年至工夫的秒数换为日期字符串
publicsynchronizedStringnowdateshow()功效:显现以后日期
publicsynchronizedjava.util.Dateinttodate(intdatenum)功效:将秒数转换为日期
publicsynchronizedintdatetoint()功效:将工夫换为从1900年至今的秒数
publicsynchronizedintdatetoint(java.util.Dated)功效:将工夫换为从1900年至工夫的秒数
publicsynchronizedStringoverlengthcut(Stringstr,intlength)功效:截取前几个字符,单元为汉字字长
publicsynchronizedStringreplace(Stringstr,Stringsuba,Stringsubb)功效:字符串交换
*********************************************/
privatestaticfinalStringisostr="ISO8859-1";
privatestaticfinalStringgbkstr="GBK";
publicStringCtrl()
{
}
publicsynchronizedbooleanemailcheck(Stringemail)
{
if(email==null)returnfalse;
if(email.length()<6)returnfalse;
if(email.indexOf("@")<2)returnfalse;
if(email.indexOf(".")<4)returnfalse;
if(email.endsWith(".")||email.endsWith("@"))returnfalse;
if(email.lastIndexOf("@")>email.lastIndexOf(".")-1)returnfalse;
if(email.lastIndexOf("@")!=email.indexOf("@"))returnfalse;
String[]lowstr={"",""","
","&"," ","","<",">","/","","#"};
for(inti=0;i<lowstr.length;i++)if(email.indexOf("lowstr")>0)returnfalse;
returntrue;
}
publicsynchronizedbooleanisemailstr(Stringemail)
{
if(email==null)returnfalse;
if(email.indexOf("@")==-1||email.indexOf(".")==-1||email.length()<6)returnfalse;
returntrue;
}
publicsynchronizedbooleanisqqstr(Stringqq)
{
if(qq==null)returnfalse;
if(qq.length()>12)returnfalse;
if(qq.length()<5)returnfalse;
for(inti=0;i<qq.length();i++)
if(!(((int)qq.charAt(i))<=57&&((int)qq.charAt(i))>=48))returnfalse;
returntrue;
}
publicsynchronizedbooleanisnumstr(Stringnum)
{
if(num==null)returnfalse;
if(num.length()<1)returnfalse;
for(inti=0;i<num.length();i++)
if(!(((int)num.charAt(i))<=57&&((int)num.charAt(i))>=48))returnfalse;
returntrue;
}
publicsynchronizedStringuserstrlow(Stringuser)
{
Stringnewuserstr=user.trim();
char[]lowstr={,",
,&, ,,<,>,/,,#};
for(inti=0;i<lowstr.length;i++)
newuserstr=newuserstr.replace(lowstr,+);
returnnewuserstr;
}
publicsynchronizedbooleanuserstrchk(Stringuser)
{
Stringnewuserstr=user.trim();
char[]lowstr={,",
,&, ,,<,>,/,,#,~,`,!,@,$,%,^,*,(,),-,_,+,=,|,?,,,;,.};
for(inti=0;i<lowstr.length;i++)
newuserstr=newuserstr.replace(lowstr,+);
return(user.equals(newuserstr))?true:false;
}
publicsynchronizedbooleanistelstr(Stringtel)
{
if(tel==null)returnfalse;
if(tel.length()<1)returnfalse;
if(tel.length()>32)returnfalse;
for(inti=0;i<tel.length();i++)
if(!(((int)tel.charAt(i))<=57&&((int)tel.charAt(i))>=48))if(tel.charAt(i)!=-)returnfalse;
returntrue;
}
publicsynchronizedbooleanurlcheck(Stringurl)
{
if(url==null)returnfalse;
if(url.length()<10)returnfalse;
Stringurls=url.toLowerCase();
if(!urls.startsWith("http://"))returnfalse;
if(url.indexOf("<")>0||url.indexOf(">")>0)returnfalse;
returntrue;
}
publicsynchronizedStringisotogbk(Stringiso)throwsException
{
if(iso!=null)return(newString(iso.getBytes(isostr),gbkstr));
if(iso.length()<1)return"";
returnnull;
}
publicsynchronizedStringgbktoiso(Stringgbk)throwsException
{
if(gbk!=null)return(newString(gbk.getBytes(gbkstr),isostr));
if(gbk.length()<1)return"";
returnnull;
}
publicsynchronizedStringHTMLcode(StringTXTcode)
{
Stringnewstr="";
if(TXTcode==null)return"";
newstr=TXTcode;
newstr=replace(newstr,"&","&");
newstr=replace(newstr,""",""");
newstr=replace(newstr,"","");
newstr=replace(newstr,"<","<");
newstr=replace(newstr,">",">");
newstr=replace(newstr,"","'");
returnnewstr;
}
publicsynchronizedStringUnhtmlcode(Stringstr)
{
Stringnewstr="";
if(str==null)return"";
if(str.length()<1)return"";
newstr=str;
newstr=replace(newstr,"&","&");
//newstr=replace(newstr,""",""");
newstr=replace(newstr,"","");
newstr=replace(newstr,""",""");
//newstr=replace(newstr,"<","<");
//newstr=replace(newstr,">",">");
newstr=replace(newstr,"'","");
returnnewstr;
}
publicsynchronizedStringUnhtmlcodea(Stringstr)
{
Stringnewstr="";
if(str==null)return"";
if(str.length()<1)return"";
newstr=str;
newstr=replace(newstr,"&","&");
newstr=replace(newstr,""",""");
newstr=replace(newstr,"","");
newstr=replace(newstr,"<","<");
newstr=replace(newstr,">",">");
newstr=replace(newstr,"'","");
returnnewstr;
}
publicsynchronizedStringdostrcut(Stringoldstr,intlength)
{
inti=0;
intj=0;
intk=0;
Stringnewstr="";
if(oldstr==null)return"";
if(length<=0)return"";
for(i=0;i<oldstr.length();i++)
{
if(oldstr.charAt(i)==
)j=0;
elseif(((int)(oldstr.charAt(i)))>255)j+=2;
elsej++;
if((j/2)>=length)
{
newstr=newstr.concat(oldstr.substring(k,i)+"
");
k=i;
j=0;
}
}
newstr=newstr.concat(oldstr.substring(k)+"
");
returnnewstr;
}
publicsynchronizedStringinttodateshow(intdatenum)
{
intyear=0;
intmonth=0;
intday=0;
inthour=0;
intminute=0;
intsecond=0;
Stringdatestr="";
java.util.Dated;
d=newjava.util.Date((long)(datenum)*1000);
java.util.Calendards=java.util.Calendar.getInstance();
ds.setTime(d);
year=ds.get(java.util.Calendar.YEAR);
month=ds.get(java.util.Calendar.MONTH);
day=ds.get(java.util.Calendar.DATE);
hour=ds.get(java.util.Calendar.HOUR_OF_DAY);
minute=ds.get(java.util.Calendar.MINUTE);
second=ds.get(java.util.Calendar.SECOND);
datestr=Integer.toString(year)+"/"+Integer.toString(1+month)+"/"+Integer.toString(day);
returndatestr;
}
publicsynchronizedStringnowdateshow()
{
intyear=0;
intmonth=0;
intday=0;
inthour=0;
intminute=0;
intsecond=0;
Stringdatestr="";
java.util.Calendards=java.util.Calendar.getInstance();
year=ds.get(java.util.Calendar.YEAR);
month=ds.get(java.util.Calendar.MONTH);
day=ds.get(java.util.Calendar.DATE);
hour=ds.get(java.util.Calendar.HOUR_OF_DAY);
minute=ds.get(java.util.Calendar.MINUTE);
second=ds.get(java.util.Calendar.SECOND);
datestr=Integer.toString(year)+"/"+Integer.toString(1+month)+"/"+Integer.toString(day);
returndatestr;
}
publicsynchronizedjava.util.Dateinttodate(intdatenum)
{
intyear=0;
intmonth=0;
intday=0;
Stringdatestr="";
java.util.Dated;
d=newjava.util.Date((long)(datenum)*1000);
returnd;
}
publicsynchronizedintdatetoint()
{
java.util.Dated=null;
longds=0;
d=newjava.util.Date();
ds=d.getTime();
return(int)(ds/1000);
}
publicsynchronizedintdatetoint(java.util.Dated)
{
longds=0;
ds=d.getTime();
return(int)(ds/1000);
}
publicsynchronizedStringoverlengthcut(Stringstr,intlength)
{
inti=0;
intj=0;
if(str==null)return"";
if(length<0)return"";
if(str.length()<=length)returnstr;
for(i=0;i<str.length();i++)
{
if(((int)(str.charAt(i)))>255)j+=2;
elsej++;
if((j/2)>=length)
{
returnstr.substring(0,i);
}
}
returnstr;
}
publicsynchronizedStringreplace(Stringstr,Stringsuba,Stringsubb)
{
Stringnewstr="";
intstart=0;
intoffset=0;
intsubalength=0;
intstrlength=0;
if(str==null||suba==null||subb==null)returnstr;
if(suba.equals(subb))returnstr;
if(str.length()<suba.length()||str.length()<subb.length())returnstr;
if(str.length()>0&&suba.length()>0&&subb.length()>0)
{
subalength=suba.length();
strlength=str.length();
while(true)
{
if(str.indexOf(suba)<0)break;
if(offset>strlength)break;
start=str.indexOf(suba,offset);
if(start<offset)break;
newstr=newstr.concat(str.substring(offset,start));
newstr=newstr.concat(subb);
offset=start+subalength;
}
newstr=newstr.concat(str.substring(offset));
returnnewstr;
}
else
{
returnstr;
}
}
}
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种将安全性(Security)列为第一优先考虑的语言 是一种突破用户端机器环境和CPU Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种将安全性(Security)列为第一优先考虑的语言 是一种为 Internet发展的计算机语言
页:
[1]
2