用Tomcat构建WEB站点
一、WEB应用的相关知识
1、应用程序:指允许用户执行特定任务的软件程序,主要分为桌面应用程序和Web应用程序两种类型。
2、桌面应用程序(DesktopApplication):一般是指采用客户机/服务器结构(Client/Server)的应用程序。
C/S模式特点:
(1)C/S模式将应用与服务分离,系统具有稳定性和灵活性
(2)C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性
(3)由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快
(4)在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂
3、Web应用程序(Web Application)
(1)web应用程序一般是指采用浏览器和服务器结构(Browser/Server,简称B/S结构)的应用程序。
B/S模式的优点:
①易于维护:基于B/S模型的系统需要升级、维护时,只需修改服务器程序
②易于实现。B/S模型的表现层可以用制作网页的html来实现,浏览器和网页设计技术已经相当成熟。而且用Java技术开发的Web系统可以安装在任意一种服务器系统平台上,也就是常说的具有跨平台性。
③使用方便,无论客户在什么地方,只要服务器正在运行,客户就能通过网络进行连接,实现对数据的访问和操作。
(2)Web应用程序由Web服务器和Web客户端组成。
Web服务器:Web服务器上装有某个应用程序,这个Web服务器应用程序负责接收客户请求进行处理,向客户返回结果
Web客户端:允许用户请求服务器上的某个资源,并且向客户端返回结果。Web应用程序的客户端一般是指Web浏览器。Web浏览器就是一个软件,它知道怎么与服务器通信,还有一个重要任务,就是解释HTML代码,把Web页面呈现给用户
(3)Web应用程序完整的“请求-响应”流程
①用户在浏览器上点击一个链接
②浏览器把请求格式化,并把它发送给服务器
③服务器找到所请求的资源
④服务器格式化响应并将其发送给客户端
⑤浏览器得到HTML并显示给用户
4、Web的编程术语
(1)HTTP协议
(2)URL:Uniform Resource Locator(统一资源定位符)
(3)主要的WEB服务器软件:IIS、Apache 、Tomcat
5、网站系统组成的一些概念:
(1)每台web服务器上的内容完全一样,运行时所产生的状态也应该同步、一致。满足这种要求的多台服务器就构成了web服务器集群系统。
(2)当一个网站使用了web服务器集群系统后,客户端浏览器不知道服务器端有多台web服务器,客户端浏览器始终访问的是同一个ip地址,这时就需要这样一个设备,将这些客户端浏览器发送的同一个ip地址请求分配给多台web服务器,这就是负载均衡系统。
(3)负载均衡系统的作用:所有客户端的访问请求都是路由到负载均衡系统上的,然后负载均衡系统跟踪和记录每个web服务器的负荷量,然后将请求分配给负载较轻的web服务器处理
(4)一些大型的网站为了提高客户端浏览器的访问效率,减少骨干网络上的流量,在不同的地区设置了区域代理服务器。不同区域的客户端浏览器访问的是区域代理服务器,而不是直接访问远端的web服务器。
注意:为了使不同区域的浏览器能透明地访问web站点的内容,使用户感觉不到访问的是区域代理服务器,需要在dns系统中将主机名指向所有的区域代理服务器,当浏览器要访问时,首先向dns服务器请求ip地址,dns根据浏览器的ip地址判断出浏览器所在的区域,返回区域的代理服务器的ip地址。如果浏览器访问的网页文档在区域代理服务器中还没有,则需访问web服务器得到要访问的文档返回给区域代理服务器。
6、 Internet提供外界访问的Web资源分为:
(1)静态web资源(如html页面):指web页面中供人们浏览的数据始终是不变。
(2)动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
(3) 静态web资源开发技术:Html
(4)常用动态web资源开发技术:JSP/Servlet、ASP、PHP
(5)在Java中,动态web资源开发技术统称为Javaweb,即动态web页面。
二、WEB服务器
1、学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。
2、常见WEB服务器
(1)WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求,启动界面如图
(2)另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,
(3)常见WEB服务器 apache
(4)在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以Servlet规范
3、Tomcat服务器
(1)下载Tomcat官方站点:http://jakarta.apache.org
(2)获取Tomcat安装程序包
①tar.gz文件是Linux操作系统下的安装版本
②exe文件是Windows系统下的安装版本
③zip文件是Windows系统下的压缩版本
(3)安装Tomcat
①双击 bin目录下的startup.bat文件
②输入http://localhost:8080/,显示如下界面代表安装成功
(4)常见启动问题
① Java_home环境变量:在windows中设置java_home环境变量,只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。
② 端口占用问题 :netstat -na命令和fport工具(可以查看有哪些网络端口号被监听)
netstart –na看看有没有用8080端口
(5)Tomcat 的目录层次结构
①bin:存放启动和关闭 Tomcat 的脚本文件
②conf:存放Tomcat服务器的各种配置文件
③lib:存放Tomcat服务器的支撑jar包
④logs:存放Tomcat的日志文件
⑤temp:存放Tomcat运行时产生的临时文件
⑥webapps:web应用所在目录,即供外界访问的web资源的存放目录
⑦work:Tomcat的工作目录
4、WEB应用程序
(1)WEB应用程序指供浏览器访问的程序,简称为web应用。
(2)一个web应用由多个静态web资源和动态web资源组成,如:
①html、css、js文件
③ Jsp文件、java程序、支持jar包
④ 配置文件等等…..
⑤组成web应用的这些文件通常我们会使用一个目录组织,这个目录称为web应用所在目录。
(3)Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
(4)虚似目录的映射有三种方式:
①在server.xml文件的host元素中配置
注意:一个Context即代表一个web应用,context元素在配置文件中除用于映射虚似目录外,它还可用于为web应用配置一些资源
②、在Tomcat6中,不再建议在server.xml文件中配置context元素,(需要重启服务器)细节查看tomcat服务器关于context元素的说明。
③、让tomcat自动映射:tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。
5、WEB应用的组成结构
开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。
Mail web应用所在目录
|-----------Html、jsp、css/、js文件等 这些文件一般存在web应用根目录下,根目录下的文件外界可以直接访问
|-----------Web-inf目录 java类、jar包、web应用的配置文件存在这个目录下,该目录下的文件外界无法非法直接问,有web服务器负责调用
|------classes目录------(java类)
|------lib目录------(java类运行所需的jar包)
------web.xml文件------(web应用的配置文件)
6、Web.xml文件
(1)是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。在开发web应用时,但凡涉及到对web应用中的web资源进行配置,通通是在web.xml文件中进行设置。
(2)认识web.xml文件的作用:通过web.xml文件把某个web资源配成网站首页。
7、部署描述符与目录的默认网页
(1)部署描述符文件
①<WEB应用程序>/WEB-INF/web.xml
②<Tomcat主目录>/conf/web.xml
(2)目录的默认网页文件
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
8、配置虚似主机
(1)在一个tomcat服务器中可以放置多个网站,所谓配置虚似主机,就是在tomcat服务器中配置一个网站。
(2)如需在WEB服务器中配置一个网站,需使用Host元素进行配置
(3)配置主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。
(4)配置多个网站。
(5)缺省虚似主机。
9、出现的问题
(1)打包web应用war: c:\news> jar –cvf news.war *.*/ .
(2)Tomcat的体系结构和配置https连接器
(3)Tomcat服务器的管理平台
10、基于端口号的虚拟主机
(1)一个<Connector>元素用于配置一个对外的连接器,对于WEB服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。
(2)一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素中。
例:<Servicename="…">
<Connectorport="…"…/>
<Enginename="…" >
<Hostname="…" >
<Context…>
</Context>
</Host>
</Engine>
</Service>
(3)Context元素常用属性:docBase、path、rebadable、unpackWAR