一、Web开发概述
WEB通信
WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport protocol)进行通信。通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成之后,会向浏览器作出一个响应,及将服务器端资源发送给浏览器。

软件架构
C/S架构:Client/Server 客户端/服务器。要求客户端电脑安装一个客户端程序。
常见应用:QQ,迅雷,360,旺旺 等
优点:
- 用户体验好,效果炫
- 对信息安全的控制较强
- 应用服务器运行数据负荷较轻,部分计算功能在客户端完成。
缺点:
- 占用硬盘空间
- 维护麻烦
- 安装使用依赖其他条件
B/S架构:Browser/Server 浏览器/服务器 。通过浏览器与服务器交互,不需要安装其他程序
常见应用:网银系统,淘宝,京东 12306 等
优点:
- 维护和升级简单,无缝升级。
- 不用必须安装程序,操作系统内置了浏览器。
缺点:
- 动画效果受浏览器限制
- 对信息安装控制较差。例如:网银就需要使用U盾,在浏览器端加密。
- 应用服务器运行数据负荷较重。大部分计算都在服务器端,增加服务器压力。使用Ajax可以改善部分用户体验。
WEB服务器
JCP(Java Community Process) Java技术规范制定与更新的国际组织。主要维护规范包括:J2ME、J2SE、J2EE,XML等。
J2EE 企业级开发Java规范。标准规范包括:servlet、jsp、jdbc、xml、jta、javamail等。在java中规范就是接口。J2EE又称为JavaEE。
WEB服务器对JavaEE规范部分或全部支持,也就是WEB服务器实现部分或全部接口。
常见的WEB服务器:
- Tomcat::Apache组织提供一个免费的小型的服务器软件。支持Servlet和JSP规范。
- WebLogic:Bea公司的一个收费的大型的服务器软件,后被Oracle收购。支持EE的所有的规范
- WebSphere:IBM公司的一个收费的大型的服务器软件,支持EE的所有的规范。
- JBoss:是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

web项目结构
在JavaEE规范中,开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。
项目名称
|-----静态资源.HTML,CSS,JS
|-----WEB-INF 浏览器不能直接访问,但通过Java程序可以
|----web.xml 当前WEB项目的核心配置,Servlet2.5必须有,3.0可省略。
|----lib 当前WEB项目所需要的第三方的jar的存放位置。
|----classes Java源码编译后生成class文件存放的位置。
二、TOMCAT概述
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
支持Servlet和JSP 规范,且最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。
Apache 软件基金会有两款常用软件:apache web 服务器 和 tomcat web服务器。
- apache web服务器专门处理HTML页面的。
- tomcat web服务器,不仅可以处理servlet和jsp,而且也能处理html页面,不过不如apache web服务器。
-
在开发中,一般使用tomcat处理servlet和jsp,使用apache服务器处理html页面。及apache和tomcat被整合在一起使用。
tomcat.png
Tomcat版本
tomcat 目前存在很多版本,希望大家了解tomcat的版本,从而知道自己的创建的项目使用的是几版本规范,不同版本的规范技术可能不同。我们学习的WEB5.0,Servlet规范2.5,tomcat至少使用6版本。
官网地址:http://tomcat.apache.org/whichversion.html
Tomcat版本 | Servlet版本 | JSP版本 | EL版本 | JavaEE版本 | JDK版本 |
---|---|---|---|---|---|
9.0.x | 4.0 | 2.4? | 3.1? | ? | 8 (1.8) |
8.0.x | 3.1 | 2.3 | 3.0 | 7.0 | 7(1.7) |
7.0.x | 3.0 | 2.2 | 2.2 | 6.0 | 6 (1.6) |
6.0.x | 2.5 | 2.1 | N/A | 5.0 | 5 (1.5) |
三、使用tomcat
-
安装
步骤一:下载一个tomcat服务器软件.
http://tomcat.apache.org/download-70.cgi
获取Tomcat安装程序包
tar.gz(zip)文件是Linux操作系统下的安装版本
exe文件是Windows系统下的安装版本
zip文件是Windows系统下的压缩版本
安装Tomcat --- 必须配置JAVA_HOME
步骤二:解压下载好的zip文件.
将解压后的文件copy到一个没有中文和空格的路径下即可.
例如:D:\java\tomcat\apache-tomcat-7.0.68 -
目录结构
tomcat目录结构.png
-
bin:脚本目录
启动脚本:startup.bat
停止脚本:shutdown.bat -
conf:配置文件目录
核心配置文件:server.xml
用户权限配置文件:tomcat-users.xml
所有web项目默认配置文件:web.xml -
lib:依赖库,tomcat和web项目中需要使用的jar包
-
logs:日志文件.
localhost_access_log..txt tomcat记录用户访问信息,星表示时间。
例如:localhost_access_log.2016-02-28.txt -
temp:临时文件目录,文件夹内内容可以任意删除。
-
webapps:默认情况下发布WEB项目所存放的目录。
-
work:tomcat处理JSP的工作目录。
- 启动和访问
1.tomcat解压目录/bin/startup.bat 双击运行启动tomcat
2.访问路径:http://localhost:8080/
tomcat默认首页.png
3. 退出:
在bin目录 shutdown.bat
直接关闭窗口
ctrl+c
- 发布web应用至tomcat
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
虚似目录的映射有三种方式:
-
让tomcat自动映射: tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚拟目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问
-
在server.xml文件的host元素中配置
在文件中<Host>标签,在</Host>结束前<Context path=”/访问的虚拟路径” docBase=”应用所在位置”/>
在server.xml文件的host元素中配置.png
-
在Tomcat6中,不再建议在server.xml文件中配置context元素,
在tomcat/conf/Catalina/localhost目录下新建一个aaa.xml文件
在文件中写入:
<Context docBase=”应用所在位置” />
其实xml文件的名称 aaa就是上一种方式中 path的值.
四、Tomcat常见问题
-
JAVA_HOME的配置
如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将一闪立即关闭。且必须配置正确,及JAVA_HOME指向JDK的安装目录。
JAVA_HOME的配置
-
端口号冲突
当同一台计算机启动两个tomcat时,第二个tomcat将会在控制台抛异常,摘要信息如下:
严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
java.net.BindException: Address already in use: JVM_Bind <null>:8080
...
Caused by: java.net.BindException: Address already in use: JVM_Bind
...
控制台将出现大量异常信息,描述的是3个端口被占用(8080、8009、8005 )
通过** $JAVA_HOME/conf/server.xml**修改端口号。
解决方式:
a) server.xml在tomcat安装目录的conf文件夹下面:




b) 在cmd打开的窗口中输入 netstat –aov
查看到占用端口的程序的PID 在任务管理器中找到PID对应的程序结束进程。
注意:有的时候这个进程是一个系统进程,结束不了,只能采用第一种方式。
- CATALINA_HOME问题,CATALINA_HOME配置的是tomcat的根目录
网友评论