java required是什么,java编程中Properties类的具体作用和使用!
大家好,如果您还对java required是什么不太了解,没有关系,今天就由本站为大家分享java required是什么的知识,包括java编程中Properties类的具体作用和使用!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
用java可以干什么用请说清楚一点好吗谢谢了
Java可以开发大多数种类的软件,只不过因为种种原因,Java桌面程序没有普及(原因很多,在这里很难说完),但是Java的一大优势就是跨平台性,编写一次,几乎不用太多的修改,就可以运行在不同的操作系统平台上,Java主要有3个领域 J2SE(标准版本)J2ME(主要是嵌入式开发) J2EE(主要是企业开发)
一. Java的由来
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
二. Java的定义
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的Java Developers Kit,简称 JDK。后来微软公司推出了支持Java规范的Microsoft Visual J++ Java开发环境,简称 VJ++。
三. Java的特点
1.平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在 Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的 Object类及其子类的继承关系如同一棵倒立的树形,根类为 Object类, Object类功能强大,经常会使用到它及其它派生的子类。
4.分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
5.键壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供: Null指针检测、数组边界检测、异常出口、 Byte code校验。
四. Java与C/C++语言
Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。
Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。
Java去掉了以下几个C和C++功能:
指针运算
结构
typedefs
#define
需要释放内存
这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。
面象对象:Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。
五. Java与Internet
我们知道,早先的 www仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的革命。
Java并不是为 Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言。Java语言类似于 C++语言,所以已熟练掌握 C++语言的编程人员,再学习 Java语言就容易得多!Java程序需要编译。实际上有两种 Java程序:一种 Java应用程序是一个完整的程序,如 Web浏览器。一种 Java小应用程序是运行于 Web浏览器中的一个程序.
Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400 baud线上传输视频图象时,HotJava将能显示这些视频。
当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。
电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。
Java程序被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。
Java:Java是进行网络编程.(特别是分布式网络开发)的首选语言.Java的特点是一次编写,到处运行,就是说它的语言代码可以方便地在多操作及平台运行(当然目前还不是说的那么简单,只能等未来了)。J2EE(Java 2 Enterprise Edition)是目前最为成熟的企业级应用开发平台。是开发基于Internet/Intranet的分布式应用的首选平台。J2EE(Java 2 Macro Edition)是目前嵌入式及移动开发的首选平台(有人说,十年之后Java将从PC上消失,只留下J2ME)。如果你要做目前最火的手机软件开发的话,选择J2ME吧!
java里defaultvalue填什么
@RequestParam使用defaultValue属性设置默认值
注意设置必须是string类型的,框架自己会做转换
@RequestParam(value="page", required= false, defaultValue="1") Integer page,
@RequestParam(value="size", required= false) Integer size,
补充:@RequestParam注解的使用说明
自SpringMVC4.2之后,RequestParam内部有4个参数:
1、String name;
2、String value;
3、boolean required;
4、String defaultValue;
源码中name的别名是value,value的别名是name,
所以说name和value两个属性基本是等价的,都是获取从前台传入的参数
RequestParam来映射请求参数
required表示是否必须,默认为true
defaultValue请求参数的默认值
@RequestMapping(value="/testRequestParam")
public String testRequestParam(@RequestParam(value="username")String un,@RequestParam(value="age",required= false,defaultValue="0") int age){
System.out.println("testRequestParam,username:"+un+",age,"+age);
return"success";
}
(function(){
function setArticleH(btnReadmore,posi){
var winH=$(window).height();
var articleBox=$("div.article_content");
var artH= articleBox.height();
if(artH> winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
if(typeof window.localStorage==="object"&& typeof window.csdn.anonymousUserLimit==="object"){
if(!window.csdn.anonymousUserLimit.judgment()){
window.csdn.anonymousUserLimit.Jumplogin();
return false;
}else if(!currentUserName){
window.csdn.anonymousUserLimit.updata();
}
}
articleBox.removeAttr("style");
$(this).parent().remove();
})
}else{
btnReadmore.parent().remove();
}
}
var btnReadmore=$("#btn-readmore");
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}
})(
java编程中Properties类的具体作用和使用!
如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的。(如清单 1所示)。最近更新的java.util.Properties类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStreamis)和 storeToXML(OutputStream os, String comment)方法。
一下是详细的说明,希望能给大家带来帮助。
清单 1.一组属性示例
foo=bar
fu=baz
将清单 1装载到 Properties对象中后,您就可以找到两个键( foo和 fu)和两个值( foo的 bar和 fu的baz)了。这个类支持带\u的嵌入 Unicode字符串,但是这里重要的是每一项内容都当作 String。
清单2显示了如何装载属性文件并列出它当前的一组键和值。只需传递这个文件的 InputStream给 load()方法,就会将每一个键-值对添加到 Properties实例中。然后用 list()列出所有属性或者用 getProperty()获取单独的属性。
清单 2.装载属性
import java.util.*;
import java.io.*;
public class LoadSample{
public static void main(String args[]) throws Exception{
Properties prop= new Properties();
FileInputStream fis=
new FileInputStream("sample.properties");
prop.load(fis);
prop.list(System.out);
System.out.println("\nThe foo property:"+
prop.getProperty("foo"));
}
}
运行 LoadSample程序生成如清单 3所示的输出。注意 list()方法的输出中键-值对的顺序与它们在输入文件中的顺序不一样。Properties类在一个散列表(hashtable,事实上是一个 Hashtable子类)中储存一组键-值对,所以不能保证顺序。
清单 3. LoadSample的输出
-- listing properties--
fu=baz
foo=bar
The foo property: bar
XML属性文件
这里没有什么新内容。 Properties类总是这样工作的。不过,新的地方是从一个 XML文件中装载一组属性。它的 DTD如清单 4所示。
清单 4.属性 DTD
<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD for properties-->
<!ELEMENT properties( comment?, entry*)>
<!ATTLIST properties version CDATA#FIXED"1.0">
<!ELEMENT comment(#PCDATA)>
<!ELEMENT entry(#PCDATA)>
<!ATTLIST entry key CDATA#REQUIRED>
如果不想细读 XML DTD,那么可以告诉您它其实就是说在外围<properties>标签中包装的是一个<comment>标签,后面是任意数量的<entry>标签。对每一个<entry>标签,有一个键属性,输入的内容就是它的值。清单 5显示了清单 1中的属性文件的 XML版本是什么样子的。
清单 5. XML版本的属性文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM" http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Hi</comment>
<entry key="foo">bar</entry>
<entry key="fu">baz</entry>
</properties>
如果清单 6所示,读取 XML版本的 Properties文件与读取老格式的文件没什么不同。
清单 6.读取 XML Properties文件
import java.util.*;
import java.io.*;
public class LoadSampleXML{
public static void main(String args[]) throws Exception{
Properties prop= new Properties();
FileInputStream fis=
new FileInputStream("sampleprops.xml");
prop.loadFromXML(fis);
prop.list(System.out);
System.out.println("\nThe foo property:"+
prop.getProperty("foo"));
}
}
关于资源绑定的说明
虽然 java.util.Properties类现在除了支持键-值对,还支持属性文件作为 XML文件,不幸的是,没有内置的选项可以将ResourceBundle作为一个 XML文件处理。是的, PropertyResourceBundle不使用 Properties对象来装载绑定,不过装载方法的使用是硬编码到类中的,而不使用较新的 loadFromXML()方法。
运行清单 6中的程序产生与原来的程序相同的输出,如清单 2所示。
保存 XML属性
新的 Properties还有一个功能是将属性存储到 XML格式的文件中。虽然 store()方法仍然会创建一个类似清单 1所示的文件,但是现在可以用新的 storeToXML()方法创建如清单 5所示的文件。只要传递一个 OutputStream和一个用于注释的 String就可以了。清单 7展示了新的 storeToXML()方法。
清单 7.将 Properties存储为 XML文件
import java.util.*;
import java.io.*;
public class StoreXML{
public static void main(String args[]) throws Exception{
Properties prop= new Properties();
prop.setProperty("one-two","buckle my shoe");
prop.setProperty("three-four","shut the door");
prop.setProperty("five-six","pick up sticks");
prop.setProperty("seven-eight","lay them straight");
prop.setProperty("nine-ten","a big, fat hen");
FileOutputStream fos=
new FileOutputStream("rhyme.xml");
prop.storeToXML(fos,"Rhyme");
fos.close();
}
}
运行清单 7中的程序产生的输出如清单 8所示。
清单 8.存储的 XML文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM" http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Rhyme</comment>
<entry key="seven-eight">lay them straight</entry>
<entry key="five-six">pick up sticks</entry>
<entry key="nine-ten">a big, fat hen</entry>
<entry key="three-four">shut the door</entry>
<entry key="one-two">buckle my shoe</entry>
</properties>
在这里改了一个例子:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
*实现properties文件的读取
*@author haoxuewu
*/
public class Test{
public static void main(String[] args){
try{
long start= System.currentTimeMillis();
InputStream is= new FileInputStream("conf.properties");
Properties p= new Properties();
p.load(is);
is.close();
System.out.println("SIZE:"+ p.size());
System.out.println("homepage:"+ p.getProperty("homepage"));
System.out.println("author:"+ p.getProperty("author"));
System.out.println("school:"+ p.getProperty("school"));
long end= System.currentTimeMillis();
System.out.println("Cost:"+(end- start));
} catch(IOException ioe){
ioe.printStackTrace();
}
}
}
conf.properties
# Configuration file
homepage= http://www.blogjava.net/haoxuewu
author= bbflyerwww
school= jilinjianzhugongchengxueyuan
Result
SIZE:3
homepage: http://www.blogjava.net/haoxuewu
author: bbflyerwww
school: jilinjianzhugongchengxueyuan
文章分享结束,java required是什么和java编程中Properties类的具体作用和使用!的答案你都知道了吗?欢迎再次光临本站哦!