易截截图软件、单文件、免安装、纯绿色、仅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正则表达式

package com.sy.grasp;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegularExpression {
 /**
  * @param args
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {
  ......

Java UDP通讯程序升级版

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

用Java实现文件分割\合并操作

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.sql.Timestamp;
import java.util.Arrays;
public class SmallToBig {
 private String newFileName;// 新文件名字
 private String filterName;// 过滤规则名字
  ......

Lombok 消除Java的冗长


  Lombok是一个开源项目,可以用来消除Java代码的冗长
  详细介绍参看http://www.ibm.com/developerworks/opensource/library/os-lombok/index.html
  下面介绍Lombok如何消除Java代码的冗长。
1.      首先去http://projectlombok.org/. 下载lombok.jar 包
2.  & ......

JAVA笔记(三)数据结构

动态内存分配
创建和维护动态数据结构要求进行动态内存分配,即程序能够在执行时获得更多的内存空间来放新结点,并在不需要这些内存时释放他们。
数据列表可以用数据进行存储,但是用链表存储有几个好处。在数据结构要表示的数据元素的数目无法预先确定的情况下,链表能够提供更合理的空间分配。链表是动态的,所以其长度 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号