JAVA网站制作之基于Jave的Web服务事情机制(4)
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)鄙人面的段落中,让我们来看看这三个类吧。HttpServer类
HttpServer类暗示一个web服务器,且在大众静态目次WEB_ROOT及它的子目次中能为找到的那些静态资本而服务。WEB_ROOT用以下体例初始化:
publicstaticfinalStringWEB_ROOT=
System.getProperty("user.dir")+File.separator+"webroot";
这段代码指了然一个包括静态资本的webroot目次,这些资本可用来测试该使用。在该目次中也能找到servlet容器。
要哀求一个静态资本,在扫瞄器中输出以下地点或URL:
http://machineName:port/staticResource
machineName是运转这个使用的盘算机名大概IP地点。假如你的扫瞄器是在统一台呆板上,可使用localhost作为呆板名。端口是8080。staticResource是哀求的文件夹名,它必需位于WEB-ROOT目次中。
一定,假如你利用统一个盘算机来测试使用,你想向HttpServer哀求发送一个index.html文件,那末利用以下URL:
http://localhost:8080/index.html
想要中断服务器,能够经由过程发送一个shutdown命令。该命令是被HttpServer类中的静态SHUTDOWN_COMMAND变量所界说:
privatestaticfinalStringSHUTDOWN_COMMAND="/SHUTDOWN";
因而,要中断服务,你可使用命令:
http://localhost:8080/SHUTDOWN
如今让我们来看看后面提到的await办法。上面一个程序清单给出懂得释。
Listing1.1.TheHttpServerclassawaitmethod
publicvoidawait(){
ServerSocketserverSocket=null;
intport=8080;
try{
serverSocket=newServerSocket(port,1,
InetAddress.getByName("127.0.0.1"));
}
catch(IOExceptione){
e.printStackTrace();
System.exit(1);
}
//Loopwaitingforarequest
while(!shutdown){
Socketsocket=null;
InputStreaminput=null;
OutputStreamoutput=null;
try{
socket=serverSocket.accept();
input=socket.getInputStream();
output=socket.getOutputStream();
//createRequestobjectandparse
Requestrequest=newRequest(input);
request.parse();
//createResponseobject
Responseresponse=newResponse(output);
response.setRequest(request);
response.sendStaticResource();
//Closethesocket
socket.close();
//checkifthepreviousURIisashutdowncommand
shutdown=request.getUri().equals(SHUTDOWN_COMMAND);
}
catch(Exceptione){
e.printStackTrace();
continue;
}
}
}
await办法是经由过程创立一个ServerSocket实例而入手下手的。然后它进进了一个WHILE轮回:
serverSocket=newServerSocket(
port,1,InetAddress.getByName("127.0.0.1"));
...
//Loopwaitingforarequest
while(!shutdown){
...
}
socket=serverSocket.accept();
在收到一个哀求后,await办法从accept办法前往的socket实例中取得java.io.InputStream和java.io.OutputStream对象。
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 是一种使网页(Web Page)产生生动活泼画面的语言 是一种使网页(Web Page)产生生动活泼画面的语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种突破用户端机器环境和CPU
页:
[1]