07 2013 档案
摘要:servlet是web容器最基本的组成单元,http请求是向web服务器请求一种信息资源,而servlet就充当了这种资源的最小单位,servlet可以无限扩展,使用java所有的类库资源,为用户返回文本、图片、音频的各类信息资源。 从程序员的角度看,servlet是一个java类,需要实现javax.servlet.Servlet接口的所有方法,提供一个公开的无参数的构造方法。由web容器来控制它的创建、初始化、提供服务、销毁等。它的各种行为方式通过web.xml文件中来配置。Servlet接口有3个重要的方法,分别是init(),destroy()和service(),由于Servlet是
阅读全文
摘要:web应用程序需要部署到web容器中才能运行,两者都必须符合javaEE规范。web容器的应用程序规范:1.目录结构规范:javaWeb程序的所有文件都包含在一个文件夹中,包含WEB-INF子文件夹和META-INF子文件夹,WEB-INF文件夹包含classes文件夹和lib文件夹以及web.xml。2.jar文件放在WEB-INF/lib文件夹中。3.web.xml规范:是整个web应用程序的描述文件,里面定义者该Web应用程序可供访问的信息资源以及这些资源的行为,包括servlet,过滤器,监听器,安全验证等信息资源。4.其他资源文件,如jsp,html,图片和声音的放在与WEB-INF
阅读全文
摘要:数据库连接池: 原因:频繁的创建数据库连接是十分耗费资源的,一旦某一时刻用户的请求太多,可能会造成系统缓慢甚至瘫痪。 原理:程序员需要连接数据库时,只需要从池子里取出一个即可,没有真正进行数据库的创建,当调用con.close方法时连接就会回到池子里,而没有和真正的数据库断开连接。当连接不够用时会创建新的连接,连接太多后会自动关闭一些不必要的连接。使用连接池和传统的JDBC的差异主要是获取连接方式的不同。传统的JDBC是通过驱动管理器(DriverManager)来获取连接,而连接池则是需要用数据源(DataSource)来获取,数据源由JNDI的形式提供,如://创建JNDI初始化上下文对象
阅读全文
摘要:对于一个web应用程序来说,过滤器是处于web容器内的一个组件,它会过滤特定请求资源请求信息和响应信息。一个请求来到时,web容器会判断是否有过滤器与该信息资源相关联,如果有则交给过滤器处理,然后再交给目标资源,响应的时候则以相反的顺序交给过滤器处理,最后再返回给用户浏览器。过滤器类需要实现javax.servlet.Filter,该接口的doFilter()方法是业务处理的核心代码区,类似于servlet的service()方法。doFilter()方法的参数列表有一个FilterChain接口的实现对象,它只有一个方法doFilter(),在调用该方法之前的代码会在达到目标资源前执行,之后
阅读全文
摘要:插入排序思想:在一个已经排好序的序列中插入数据,并且插入后依然是排好序的。static void sort(int []a){ int len=a.length; for(int i=1;i0;j--){ //如果前面的数字大于当前的数,则把数组往后拖动 if(a[j-1]>temp) a[j]=a[j-1]; //如果由于前面的已经排好序,如果当前的数不小于前面的数,则说明不小于前面所有的数 else break; } //把空缺位置的数字赋值为原有的值 a[j]=temp; }}
阅读全文
摘要:IIS、Apache、Tomcat等Web服务器都是采用TCP通信模型的,介绍一种TCP编程API创建一个简易的Web服务器。public void main(String [] args){ ServerSocket ss=new ServerSocket(8080); Socket s=null; while((s=ss.accept())!=null){ new HttpThread(s).start(); } ss.close();}class HttpThread extends Thread{ private Socket soc...
阅读全文
摘要:多线程TCP程序服务器端:1.创建ServerSocket对象,指定监听的端口号。2.把accept()方法作为循环条件,循环监听客户端请求。3.创建线程类,定义一个socket类型的成员变量,并定义一个可以为他赋值的构造函数方法。4.在run()方法中使用socket变量进行任意的通信操作。5.在主线程的循环体内开启一个线程,并传入accept()方法的返回值。比如: 1 public void main(String [] args){ 2 ServerSocket ss=new ServerSocket(8888); 3 Socket s=null; 4 whil...
阅读全文
摘要:UDP协议的通信特点:1.UDP是一个简单的面向数据报的无连接协议,依然需要端口号区分应用程序。2.不提供对IP协议的可靠机制、流控制和错误恢复等功能,头部包含了很少的字节,比TCP负载消耗少,速度也相对快些。3.不需要维护连接状态,字节开销很小。4.服务于很多领域,如DNS域名系统、简单文件传输系统TFTP、动态主机配置协议DHCP等。UDP编程模型(点到点传输模式):发送端:1.创建数据socket,指定一个端口号。DatagramSocket ds=new DatagramSocket(9999);2.用byte数组创建数据包对象,同时提供接收端的IP地址和端口。DatagramPack
阅读全文
摘要:TCP协议通信特点:1.面向连接的传输;2.端到端的通信;3.可靠性,确保传输数据的正确性,不出现丢失或乱序;4.采用字节流方式,即以字节为单位传输字节序列。TCP编程模型(C/S模式):服务器端:1.创建一个服务器端的Socket,指定端口号。ServerSocket s=new ServerSocket(111);2.监听来自客户端的请求,若有则在111端口创建一个新的socket,和客户端的socket对接在流上。Socket socket=s.accept();3.获得输出流和输入流:字节流OutputStream os=socket.getOutputStream();InputSt
阅读全文
摘要:TCP/IP(Transmission Control Protocol /Internet Protocol)协议是一组包括TCP协议、IP协议、UDP协议、ICMP协议和其他一些协议的协议组。四层模型:1.数据链路层(网络接口层):接受IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用物理网络,如以太网。2.网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机,但不检查是否被正确接收,主要体现为IP协议。3.传输层:提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。主要是T
阅读全文
摘要:快排思想: 通过一轮排序将要排序的数据分割成独立的两个部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按照此方法对这两个部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。如果排序数组为A[0]...A[N-1],首先取第一个数据作为中间数据,然后将所有比他小的数放到他的前面,所有比他大的数放到它的后面,即一趟快速排序。算法如下:static void quicksort(int []a,int low,int high){ if(low>=high) //low小于或等于high直接返回 return; if((high-low)==1){
阅读全文

浙公网安备 33010602011771号