基本概念
1.1 Web 开发的知识
-
静态资源:指web页面中供人们浏览的数据始终是不变的
-
动态资源:指web页面中供人们浏览的数据是有程序产生的,不同时间点访问的web页面看到的内容各不相同。
1.2 web应用程序
web应用程序指供浏览器访问的程序,一个web应用由多个静态web资源和动态web资源组成。 web程序开发好后,如想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射。
1.3. 静态WEB
在静态web程序中,客户端使用WEB浏览器(IE,Firefox等)经过网络(Network)连接到服务器上,使用http协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给web服务器,之后web服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容,之后通过web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示结果
静态web中存在几个缺点:
-
web页面中的内容无法动态更新,所有的用户每时每刻看到的内容和最终效果都是一样的。
-
静态web无法连接数据库,无法实现和用户的交互
1.4. 动态WEB
动态web程序中,客户端使用WEB浏览器(IE,Firefox等)经过网络(Network)连接到服务器上,使用http协议发起一个请求(Request),现在的所有的请求都先经过一个WEB Server Plugin(服务器插件)来处理,此插件用于区分请求的是静态资源还是动态资源 如果WEB Server Plugin发现客户端请求的是静态资源(.htm或者是.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。如果WEB Server Plugin发现客户端请求的是动态资源(.jsp、.asp/.aspx、.php),则先将请求转交给WEB Container(WEB容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。
WEB服务器
-
web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)
-
服务器是一种被动程序,只有当internet上运行在其他计算机中的浏览发出请求时。服务器才会响应。
2.1 常见web服务器介绍
-
Apache HTTP Server, Apache HTTP Server,我们常常称之为httpd,或者更简单的Apache。它诞生于1995年,并在2015年2月20日度过了其20岁的生日。 全球超过52%的网站使用了Apache,它是目前最流行的web服务器。
-
NGINX Igor Sysoev从2002年开始开发NGINX,并在2004年发布了第一个公开版本。NGINX的开发是为了解决C10K(C10K是如何处理1万个并发连接的简写)问题, 目前,它是第二流行的开源web服务器,全球有超过30%的网站在使用它。
-
Apache Tomcat Apache Tomcat是一个可作为web服务器的开源Java servlet容器。Java servlet是可扩展服务器特性的Java程序,虽然servlets可以对任何类型的请求作出响应,但是它还是最常用于Web服务器上的应用实施。
-
Node.js Node.js是一个用于web服务器等网络应用的服务器端JavaScript环境。由于其较小的市场定位,在所有网站中只有0.2%使用Node.js。 Node.js最初是由Ryan Dahl在2009年编写的,现在Node.js项目由Node.js基金会进行管理,并在Linux基金会的合作项目计划下快速发展。
-
WebLogic WebLogic是美国bea公司出品的一个application server确切的说是一个基于j2ee架构的中间件,webserver是用来构建网站的必要软件用来解析发布网页等功能,它是用纯java开发的。weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展。 目前weblogic在世界application server市场上占有最大的份额,其他还有象IBM的websphere
-
Jboss JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。JBoss支持EJB 1.1和 EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。 类似于Sun's J2SDK Enterprise Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。
-
WebSphere WebSphere Application Server 是一种功能完善、开放的Web应用程序服务器,是IBM公司电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。这一整套产品进行了扩展,以适应 Web应用程序服务器的需要,范围从简单到高级直到企业级
搭建javaweb应用开发环境-tomcat服务器
3.1 学习web开发,为什么需要web服务器
在本地计算机上随便创建一个web页面,用户是无法访问到的,如果启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了,
-
不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时, 这个网络通信程序读取web资源数据,并把数据发送给来访者
-
web服务器就是这样一个程序,它用于完成底层网络通讯,使用这些服务器,web应用的开发者只需要关注web资源怎么编写。 而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。
3.2 tomcat启动常见问题
1.JAVA_HOME环境变量设置。如果windows中不存在JAVA_HOME环境变量,则tomcat服务器是无法启动的。
2.端口占用问题,netstat -ano | findstr //查看占用端口的PID信息。1099