易截截图软件、单文件、免安装、纯绿色、仅160KB

浅析Java web程序之客户端和服务器端交互原理

浅析Java web程序之客户端和服务器端交互原理
近来一直在思考一个疑问,为什么在用struts框架开发的时候FormBean都须要序列化,即实现Java.io.Serializable接口,本着勤学好问的精神我Google了下对象序列化方面的文章,虽然大体明白了如何做,但是还是没有搞清楚为什么要这样做;结尾我想处理一个疑问要找疑问的根源和本质,于是从web程序客户端和服务器端交互的原理入手,终于找到了我要的答案。
  1. 对象序列化是什么东东?
  基本地说,Java对象列化就是要把内存中的Java对象保存下来(持久化),以便可以在网络上传输或今后继续运用这个对象中的数据。序列化的流程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其保存到文件中,管道到另一线程中或通过网络连接将对象数据发送到另一主机。序列化分为两大部分:序列化和反序列化。序列化是这个流程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。
  2. 协议
  a. TCP/IP整体构架概述
  TCP/IP协议并不完全契合 OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、示意层和运用 层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:
i. 运用 层:运用 程序间沟通的层,如超文本传送协议(HTTP)、基本电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
  ii. 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包参加传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
  iii. 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检验能无法 被正确接收),如网际协议(IP)。
  iv. 网络接口层:对实际的网络媒体的维护,定义如何 运用实际网络(如Ethernet、Serial Line等)来传送数据。
  b. HTTP协议推荐:
  i. HTTP是一种超文本传送协议(HyperText Transfer Protocol),是一套计算机在网络中通信的一种准则。在TCP/IP体系结构中


相关文档:

Java Annotation注释语法

Java Annotation注释语法(一)
关键字: java annotation注释
JAVA从J2SE5开始提供名为annotation(注释,标注)的功能。Java的annotation,可以附加在package, class, method, field等上面,相当于给它们添加了额外的辅助信息。附加在package, class, method, field等上的Annotation,如果没有外部解析工具等对其加以解 ......

Java UDP通讯程序升级版

最近一直在写C#的UDP通讯方面的程序,抽空把以前写的Java的UDP通讯程序拿出来做了一些升级的修改,把以前一些不足的地方做了改动,同时使用exe4j软件编译成exe文件,软件效果如下所示:
同时把代码贴出来,以供大家指点一二。
Main.java(主函数)
/*
 * To change this template, choose Tools | Templates
  ......

java project 转成dynamic web project

转载自:http://blog.csdn.net/seaward/archive/2008/11/26/3376511.aspx
用google找到过老外写的相关的文章,但是不完整。根据自己的实践重新写一个。
假设:我们现有一个java project叫做oldWebApp,一个Dynamic Web Project叫做dynaWebApp。
1、在oldWebApp的根目录下找到并打开.project文件,修改成
<?xml ver ......

Java的main方法与类的加载的联系

鉴于许多同学对这个main方法的迷惑!我这里提供一些意见,希望对大家有帮助!呵呵!
     ****我们说加载先:
      Java的类是用到才开始加载的,并且在每个类的构造器调用之前,类的每个域(成员变量)都要首先被编译器初始化一次,然后才轮到构造器来干活儿。但是,Java ......

java程序~天数


//输入某年某月某天,输出这一天是这一年的第几天
public class DaySum {
 public static void main(String[] args)
 {
  date da=new date();
  System.out.println(da.count(2008,12,31));
 }
 
}
class date
{
 int count(int  year,int month,int day) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号