一、Web开发的相关知识
WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的Web资源分为两种:
静态web资源(如html页面):指web页面中供人浏览的数据始终不变
动态web资源:指Web页面中供人们浏览的数据是由程序产生的,不同时间访问web页面看到的内容各不相同
静态web资源开发技术: html
动态web资源开发技术:
JSP/Servlet, ASP, PHP,JS,AJAX等
在Java中,动态的web资源开发技术统称为Javaweb
二、Web服务器
2.1 web服务器简介
Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。
学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。
问:为何开发web程序要搭建web服务器。
答:本地开发的web程序外界是无法访问的,要想外界能够访问就需要开发一个网络程序,用来读取本地资源并返回给浏览器。每开发一个web应用就要开发一个对应的网络程序,我们需要开发一个通用的网络程序。开发好的这个网络程序我们可以称之为web服务器。
网络程序的内部运行原理(模拟一个服务器):
1 import java.io.*;2 import java.net.*;3
4 public classServer {5 public static void main(String[] args) throwsIOException {6 ServerSocket server = new ServerSocket(9999);7 Socket socket =server.accept();8
9 FileInputStream in = new FileInputStream("test.html");10 OutputStream out =socket.getOutputStream();11
12 int len = 0;13 byte[] buffer = new byte[1024];14 while( ( len = in.read(buffer)) > 0) {15 out.write(buffer, 0, len);16 }17
18 in.close();19 out.close();20 socket.close();21 server.close();22 }23 }
用IE访问http://localhost:9999/(Chrome会把http协议自动转换成https协议,不能正常显示)
2.2 常见的web服务器:
IIS(Microsoft) 、WebSphere(IBM)、WebLogic(BEA)、Tomcat(Apache)