再见西城 发表于 2015-1-18 11:48:04

JAVA网站制作之一个用来保留参数的容器类

在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。
importjava.util.*;

/***供应一个保留参数的容器,用来给那些参数多、可选参数多、参数易变的办法供应参数读取才能。*间接利用Map等类关于数据范例处置不是便利。本类供应经常使用数据范例的读取办法。用法示例:<br>*port=args.get("port",8080);<br>*放进Map中的port值能够是"8443"或newInteger(8443)或其他任何范例,只需toString()*可以剖析出一个整数。*@authorsunlen*@version1.0*/publicclassArgs{/**一个常量空参数表。用于传送空参数,该参数列表已锁定,不克不及修正。*/publicstaticfinalArgsEMPTY=newArgs().lock();

/**参数列表是不是已锁定,锁定后的参数列表将只读。*/booleanlocked;

/**Map保留的参数。*/Mapargs;

/**创立空参数列表。*/publicArgs(){this(newHashMap());}

/***用Map创立参数。*@paramtheArgs保留参数的Map对象。*/publicArgs(MaptheArgs){if(theArgs==null){thrownewNullPointerException("argumentisnull");}args=theArgs;}

/***获得字符串参数的办法。*@paramkey参数名。*@paramdef参数值。*/publicStringget(Stringkey,Stringdef){try{returnargs.get(key).toString();}catch(Exceptionex){returndef;}}

/***获得整数参数的办法。*@paramkey参数名。*@paramdef参数值。*/publicintget(Stringkey,intdef){try{returnInteger.parseInt(args.get(key).toString());}catch(Exceptionex){returndef;}}

/***获得长整数参数的办法。*@paramkey参数名。*@paramdef参数值。*/publiclongget(Stringkey,longdef){try{returnLong.parseLong(args.get(key).toString());}catch(Exceptionex){returndef;}}

/***获得浮点数参数的办法。*@paramkey参数名。*@paramdef参数值。*/publicfloatget(Stringkey,floatdef){try{returnFloat.parseFloat(args.get(key).toString());}catch(Exceptionex){returndef;}}

/***获得布尔参数的办法。只要"true"剖析成true其他剖析成false。*@paramkey参数名。*@paramdef参数值。*/publicbooleanget(Stringkey,booleandef){try{return("true".equals(args.get(key)));}catch(Exceptionex){returndef;}}

/***获得原始对象范例。*@paramkey参数名。*@paramdef参数缺省值。*/publicObjectget(Stringkey,Objectdef){try{Objectobj=args.get(key);if(obj==null){returndef;}returnobj;}catch(Exceptionex){returndef;}}

/***往以后参数表中增加一个参数。*@paramkey参数名。*@paramvalue参数值。*@return增加了新参数后的参数表(对象实例没有变)。*@exceptionUnsupportedOperationException假如参数列表已被锁定。*/publicArgsset(Stringkey,Objectvalue){if(locked){thrownewUnsupportedOperationException("Argshavelocked,canmodify");}args.put(key,value);returnthis;}

/***往以后参数表中增加一个参数。*@paramkey参数名。*@paramvalue参数值。*@return增加了新参数后的参数表(对象实例没有变)。*@exceptionUnsupportedOperationException假如参数列表已被锁定。*/publicArgsset(Stringkey,intvalue){if(locked){thrownewUnsupportedOperationException("Argshavelocked,canmodify");}args.put(key,newInteger(value));returnthis;}

/***往以后参数表中增加一个参数。*@paramkey参数名。*@paramvalue参数值。*@return增加了新参数后的参数表(对象实例没有变)。*@exceptionUnsupportedOperationException假如参数列表已被锁定。*/publicArgsset(Stringkey,booleanvalue){if(locked){thrownewUnsupportedOperationException("Argshavelocked,canmodify");}args.put(key,newBoolean(value));returnthis;}

/***往以后参数表中增加一个参数。*@paramkey参数名。*@paramvalue参数值。*@return增加了新参数后的参数表(对象实例没有变)。*@exceptionUnsupportedOperationException假如参数列表已被锁定。*/publicArgsset(Stringkey,longvalue){if(locked){thrownewUnsupportedOperationException("Argshavelocked,canmodify");}args.put(key,newLong(value));returnthis;}

/***往以后参数表中增加一个参数。*@paramkey参数名。*@paramvalue参数值。*@return增加了新参数后的参数表(对象实例没有变)。*@exceptionUnsupportedOperationException假如参数列表已被锁定。*/publicArgsset(Stringkey,floatvalue){if(locked){thrownewUnsupportedOperationException("Argshavelocked,canmodify");}args.put(key,newFloat(value));returnthis;}

/***往以后参数表中增加一个参数。*@paramkey参数名。*@paramvalue参数值。*@return增加了新参数后的参数表(对象实例没有变)。*@exceptionUnsupportedOperationException假如参数列表已被锁定。*/publicArgsset(Stringkey,doublevalue){if(locked){thrownewUnsupportedOperationException("Argshavelocked,canmodify");}args.put(key,newDouble(value));returnthis;}

/***锁定参数列表。锁定后该参数列表将酿成只读的,任何对set()办法的挪用都将抛出*UnsupportedOperationException非常。已锁定的参数表再次挪用本办法没有任何影响。*@return锁定后的参数列表(对象实例没有变)。*/publicArgslock(){locked=true;returnthis;}

/***参数列表的字符串形貌。*@return一切参数值。*/publicStringtoString(){returnargs.toString();}}

J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。

山那边是海 发表于 2015-1-21 15:14:32

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

谁可相欹 发表于 2015-1-24 15:08:34

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

蒙在股里 发表于 2015-2-1 17:17:18

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

小妖女 发表于 2015-2-7 11:23:19

是一种为 Internet发展的计算机语言

再现理想 发表于 2015-2-21 19:43:20

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

因胸联盟 发表于 2015-2-24 11:20:08

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

仓酷云 发表于 2015-2-25 20:28:18

是一种使网页(Web Page)产生生动活泼画面的语言

老尸 发表于 2015-3-9 13:15:01

是一种使用者不需花费很多时间学习的语言

再见西城 发表于 2015-3-16 22:19:57

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

乐观 发表于 2015-3-18 09:43:34

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

只想知道 发表于 2015-3-25 14:40:32

是一种为 Internet发展的计算机语言

小女巫 发表于 2015-3-27 11:07:39

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

admin 发表于 2015-4-1 05:22:43

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

不帅 发表于 2015-4-1 07:08:24

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

金色的骷髅 发表于 2015-4-8 07:28:48

是一种语言,用以产生「小应用程序(Applet(s))

若相依 发表于 2015-4-15 13:59:26

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

冷月葬花魂 发表于 2015-4-17 18:45:16

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

飘灵儿 发表于 2015-4-17 19:40:29

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
页: [1]
查看完整版本: JAVA网站制作之一个用来保留参数的容器类