Servlet01.Web项目
一、 web项目架构
1.1C/S:客户端/服务器
Client/Server
C:用户需要在客户端单独安装客户端软件
例如:微信 QQ LOL
C/S一般用于客户端需要处理大量业务逻辑的web项目,例如大型网游。
优点:减轻服务器压力
缺点:客户端需要单独安装软件
1.2B/S:浏览器/服务器
Browser/Server
通过浏览器访问服务器,客户无需单独安装客户端软件。
例如:网页版京东 页游
优点:客户端无需单独安装客户端软件
缺点:客户端需要知道服务器访问地址,不适用于客户端业务逻辑较复杂的web项目。
1.3混合开发
微信小程序:本质上就是一堆页面:可以在微信客户端运行。
I.首先需要安装微信:C/S
II.直接搜索使用微信小程序:B/S
手机上的很多App都内置的有WebView(内置浏览器):
所以App可以直接运行网页。
总结:本身是C/S架构,但内置的有浏览器,在该C/S上可以再进行B/S开发。
无论是C/S还是B/S,都有S:C/S和B/S可以共用一套服务器端代码,但针对C/S架构进行一些优化。
二、web服务器和应用服务器
2.1Web服务器:
简称服务器,是软件,不是硬件。
作用:用于接收客户端请求,并把请求分发到应用服务器上处理。
常用的web服务器:Nginx Apache IIS
例如:单点Nginx并发轻松过万。
2.2应用服务器
应用服务器提供web应用(web项目)的运行环境。
Web应用/web项目不能直接单独运行,需要先发布到应用服务器,才能运行。
常用的应用服务器:
免费开源:tomcat Jetty JBoss
付费:WebSphere(IBM) WebLogic(Oracle)
2.3Web服务器和应用服务器的关系
Web服务器接收请求,并把请求分发到应用服务器上处理:一个web服务器一般对应多个应用服务器。
tomcat是一款Servlet(JavaWeb开发的一种核心组件)容器:提供Servlet的运行环境;
Tomcat也可以接收客户端请求,开发阶段为方便测试,直接发送请求到tomcat中,但实际上线的项目中一定有web服务器。
几乎所有的应用服务器都集成了部分web服务器功能(接收客户端请求),都可以单独使用。
上线的项目中:
Web服务器:
I.接收客户端请求
II.分发请求到应用服务器
III.做静态资源(图片/HTML/CSS/JS)服务器:提供静态资源访问
应用服务器:
只提供JavaWeb组件的运行环境,但应用服务器也能够提供静态资源访问,为了减轻应用服务的并发压力,把其访问能力全部留给JavaWeb组件使用。
三、tomcat
3.1 概述
Tomcat是一款开源免费的轻量级Servlet容器:
I.核心功能是提供Servlet运行环境
II.接收客户端请求
III.提供静态资源访问
3.2 tomcat使用
1.解压tomcat
2.进入bin目录双击startup.bat(linux下startup.sh)
3.浏览器输入:localhost:8080/127.0.0.1:8080
如果启动tomcat闪退:
1.检查java环境配置:cmd 输入javac ----- java命令测试
2.重启电脑,重新解压
3.重装系统
4.换电脑
3.3 eclipse集成tomcat
1.window----->preferences
2.搜索server
3.run timeEnvironment
4.apache---->对应的tomcat版本---->next
5.browser选中tomcat解压路径:注意bin的上一级路径
6.servers配置
7.配置tomcat
3.4 web工程的目录结构
注意:静态资源不要放入到web-inf下:Web-inf下的资源,前端无法直接访问
HTTP请求状态码:404:请求资源不存在
实际产生404的原因:真的不存在或者请求路径写错