Web服务器
Web服务器通常由硬件和软件共同构成
- 硬件:电脑,提供服务供其它客户电脑访问
- 软件:电脑上安装的服务器软件,安装后能提供服务给网络中的其他计算机,将本地文件映射成一个虚拟的url地址供网络中的其他人访问
常见的JavaWeb服务器:
● Tomcat(Apache):当前应用最广的JavaWeb服务器
● Jetty:更轻量级、更灵活的servlet容器
● JBoss(Redhat红帽):支持JavaEE,应用比较广EJB容器 –> SSH轻量级的框架代替
● GlassFish(Orcale):Oracle开发JavaWeb服务器,应用不是很广
● Resin(Caucho):支持JavaEE,应用越来越广
● Weblogic(Orcale):要钱的!支持JavaEE,适合大型项目
● Websphere(IBM):要钱的!支持JavaEE,适合大型项目
WEB项目的标准结构
一个标准的可以用于发布的WEB项目标准结构如下:
app 本应用根目录
● static 非必要目录,约定俗成的名字,一般在此处放静态资源 ( css js img)
● WEB-INF 必要目录,必须叫WEB-INF,受保护的资源目录,浏览器通过url不可以直接访问的目录
● classes 必要目录,src下源代码,配置文件,编译后会在该目录下,web项目中如果没有源码,则该目录不会出现
● lib 必要目录,项目依赖的jar编译后会出现在该目录下,web项目要是没有依赖任何jar,则该目录不会出现
● web.xml 必要文件,web项目的基本配置文件. 较新的版本中可以没有该文件,但是学习过程中还是需要该文件
● index.html 非必要文件,index.html/index.htm/index.jsp为默认的欢迎页
WEB项目部署的方式
- 方式1 直接将编译好的项目放在webapps目录下
- 方式2 将编译好的项目打成war包放在webapps目录下,tomcat启动后会自动解压war包(其实和第一种一样)
- 方式3 可以将项目放在非webapps的其他目录下,在tomcat中通过配置文件指向app的实际磁盘路径
对于方式3:
在tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件
<!--
path: 项目的访问路径,也是项目的上下文路径,就是在浏览器中,输入的项目名称
docBase: 项目在磁盘中的实际路径
-->
<Context path="/app" docBase="D:\mywebapps\app" />