Java web基础总结三之—— java web 服务器
一.什么是java web服务器
首先来看一下什么是web服务器,它一般指网站服务器,是指一个再互联网一个主机上的一个程序。它可以解析客户端发送来的遵循http协议的请求,并且经过逻辑业务处理后,以http协议向浏览器等Web客户端提供文档。
互联网上供外界访问的Web资源可以分为两种:一个是静态web资源(如html 页面),指web页面中供人们浏览的数据始终是不变。另一个动态web资源,指web页面中供人们浏览的数据是由程序动态产生的,不同的时间访问web页面看到的内容各不相同,现在的web页面基本都是动态的。常用动态web资源开发技术:JSP/Servlet、ASP、PHP等。
一般我们把动态web页面的开发称为javaweb技术,所以通常所说的java web服务器也可以认为是遵循全部JSP/Servlet规范的容器。所谓的容器就是它实现了java定义的JSP/Servlet的接口规范,可以对JSP/Servlet的创建,运行,销毁等整个生命周期进行管理。
servlet 容器的实现是非常复杂的。但是主要还是实现了三个过程:首先创建一个实现了javax.servlet.ServletRequest 接口或javax.servlet.http.ServletRequest 接口的 Request 对象,并用请求参数、请求头(headers)、cookies、查询字符串、uri 等信息填充该 Request对象;紧接着,创建一个实现了javax.servlet.ServletResponse或javax.servlet.http.ServletResponse
接口的 Response 对象;调用相应的servlet 的服务方法,将先前创建的 request 对象和 response 对象作为参数传入。接收请求的 servlet 从 request 对象中读取信息,并将返回值写入到 response 对象。然后把这个response 对象转换成http报文传到客户端。
二.自己实现一个最简单的java web服务器
由于http协议是基于tcp/ip协议之上的,所以只需要使用ServerSocket和Socket就可以实现一个非常简单的http服务器。下面是一个类似于hello world的最简单,最简陋的http服务器。没有对请求进行处理,对于所有的客户端请求都返回hello world。
package com.c; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class HTTPServer { public static void main(String[] args) { try { ServerSocket serverSocket=new ServerSocket(8080); while(true){ Socket socket=serverSocket.accept(); System.out.println("-------"); PrintWriter printWriter=new PrintWriter(socket.getOutputStream()); //封装http响应报文 printWriter.println("HTTP/1.1 200 OK"); printWriter.println("Content-type:text/html"); printWriter.println(); //发送hello world printWriter.println("<h1>hello world</h1>"); printWriter.flush(); socket.close(); } } catch (IOException e) { e.printStackTrace(); } } }
三.常见的几个java web服务器
1. WebLogic
WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,当然是商业的,所以需要付费。
2. WebSphere
它是IBM公司开发的,支持J2EE规范。一般用于保险,银行等等核心交易系统。跟钱有关的业务系统很多都是用的WebSphere Application Server。所以性能高,同样的也不是免费的。
3. Apache
Apache开源组织有一个很优秀的开源web服务器:Tomcat,在小型的应用系统使用比较广泛,该服务器支持全部JSP以及Servlet规范,现在有很多的商业公司也会在生产环境使用它。
四.Tomcat服务器简介
1. tomcat 的安装
它的下载地址是:http://tomcat.apache.org/.下载时,tar.gz文件是Linux操作系统下的安装版本。zip文件是Windows系统下的压缩版本。对于windows版本,下载以后,直接解压,双击 bin 目录下的 startup.bat 文件,或者在命令行下使用命令启动。输入http://localhost:8080/ 出现一个三条腿的汤姆猫就代表安装成功了。
2. Tomcat 的目录层次结构:
我们的web项目都会部署到webapps这个目录下。然后tomcat就会自动进行管理。这个目录下面可以同时部署多个项目,但是一般正式的生产环境都会在一个tomcat实例中只部署一个项目。