首页 > 代码库 > 14、Tomcat
14、Tomcat
WEB开发
用于表示Internet主机上供外界访问的资源。
Web资源分为
1、静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
2、动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同
静态web资源开发技术:Html、 css 、js
常用动态web资源开发技术:JSP/Servlet、ASP、PHP
在Java中,动态web资源开发技术统称为Javaweb
一、常见WEB服务器
1、WebLogic
BEA公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求
2、WebSphereAS
IBM公司,支持JavaEE规范
3、JBoss
红帽的产品,原来属于开源组织JbossAS,后被红帽收购。支持JavaEE规范,免费
4、Tomcat
在小型的应用系统或者有特殊需要的系统中,该服务器支持JSP以及
Servlet规范
SUN公司推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用Java语言编写。目前是Apache开源软件组织的一个软件项目
可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。
一个Apache服务器可以管理多个tomcat服务器
zip文件 建议
JavaEE规范 : 13 种技术的总称。 Servlet/Jsp、 JDBC、 JNDI、JTA...
javaSE:
javaEE:13种
javaME:
二、安装和部署
1、安装
Tomcat6本身是基于JDK1.5的应用程序,先要安装JDK
直接解压到指定目录即可。(注:目录不要太深;目录不要有中文或空格)
配置JAVA_HOME
进入到F:\apache-tomcat-7.0.52\bin>startup.bat 才能执行命令
配置CATALINA_HOME:
配置path:
配置完成后双击start.bat开启,双击sgytdown.bat结束
测试服务器是否启动成功
http://localhost:8080
2、Tomcat 的主要目录(重要)
conf中server.xml中Connector可以修改端口号,要6000以上的
logs中catalina.2016-12-04.log打开有JVM_Bind错误,就说明服务器端口号被占用,打开tomcat时一闪即过
webapps中有几个就是几个应用
3、标准的 JavaWeb 应用的目录结构
都是同级目录,包括.html
改了文件之后要重启tomncat
查看.class
4、部署应用到Tomcat服务器
(1)开放目录部署方式
1.把webRoot下文件直接复制到F:\apache-tomcat-7.0.52\webapps下,新建文件夹
2.在输出的servers中选择tomcat,add Deployment下选择项目即可部署
3.也可在工具栏的选择
(2)把应用打成war包
进入项目的webRoot目录下,打war包命令:jar -cvf MyApp.war .
把war包直接复制到F:\apache-tomcat-7.0.52\webapps下,启动服务器应用自动解压
5、Tomcat服务器与MyEclipse集成
(1)Tomcat集成
(2)创建web应用
(3)部署
myeclipse关联tomcat
windows->Preferences->myeclipse->servers->tomcat,打开tomcat安装目录,选择
启动tomcat:
(1)在输出栏启动
(2)在工具栏也可启动
URL: 统一资源定位符(网址)
URI: 统一资源标识符
http:// localhost:8080/ day08_02/1.html
协议 主机IP(端口号) URI(当前应用的资源路径)
接口号占用
运行tomcat过程中直接关闭myeclipse可能导致端口号被占用
解决办法
1、修改F:\apache-tomcat-7.0.52\conf\server.xml
第70 行: <Connector port="8081"/>
2、关闭端口号对应的进程:
cmd-->netstat -ano --> 找到 pid-->任务管理器 --> 显示pid--> 关闭进程
6、深入熟悉Tomcat服务器
(1)虚拟目录
方式一:(不建议使用,因为需要重启服务器)
真实目录:d:\MyAPP
虚拟目录:http://localhost:8080/myApp
(2)虚拟目录映射:
<Context path="/myApp" docBase="d:\MyAPP"/>
docBase:代表的是应用的真实路径。
path:网络访问的虚拟目录名
注:需要重启服务器。
方式二:
新建myAPP.xml文件,文件名就代表应用的虚拟目录名。
将文件放在F:\apache-tomcat-7.0.52\conf\Catalina\localhost目录下
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="D:\myAPP"/>
访问:http://localhost:8080/myAPP
7、配置默认端口、默认应用、默认主页
把server.xml中<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
浏览器http默认端口:80
默认应用:
默认应用:把配置的虚拟目录的配置文件名改为ROOT.xml即可。
默认主页
修改当前应用web.xml中<welcome-file-list>中添加
二、HTTP协议
1、HTTP协议概述
HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,传输HTML文件。
用于定义WEB浏览器与WEB服务器之间 交换数据的过程及数据本身的 格式。
2、请求部分
(1)请求消息行
GET /day08_02/1.html HTTP/1.1
请求方式:Get(默认) POST DELETE HEAD等
GET:明文传输 不安全,数据量有限,不超过1kb
GET /day08_02/1.html?uName=tom&pwd=123 HTTP/1.1
POST: 暗文传输,安全。数据量没有限制。
URI:统一资源标识符。去协议和IP地址。
协议/版本 :
(2)请求消息头
从第2行到空行处,都叫消息头
Accept:浏览器可接受的MIME类型,告诉服务器客户端能接收什么样类型的文件。
Referrer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
Content-Type:内容类型,告诉服务器浏览器传输数据的MIME类型,文件传输的类型,application/x-www-form-urlencoded
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。
Host:初始URL中的主机和端口
If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。
User-Agent:浏览器类型.
Content-Length:表示请求消息正文的长度
Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接
Cookie:这是最重要的请求头信息之一
Date:Date: Mon, 22 Aug 2011 01:55:39 GMT请求时间GMT
(3)消息正文
当请求方式是POST方式时,才能看见消息正文
uName=tom&pwd=123
3、响应部分
(1)响应消息行
第一行:
HTTP/1.1 200 OK
协议/版本 响应状态码 对响应码的描述(一切正常)
响应状态码:
常用的就40多个。
200(正常) 一切正常
302/307(临时重定向)
304(未修改) 表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。
404(找不到) 服务器上不存在客户机所请求的资源。
500(服务器内部错误)
(2)响应消息头
Location: http://www.it315.org/index.jsp指示新的资源的位置
通常和302/307一起使用,完成请求重定向
Server:apache tomcat指示服务器的类型
Content-Encoding: gzip服务器发送的数据采用的编码类型
Content-Length: 80 告诉浏览器正文的长度
Content-Language: zh-cn服务发送的文本的语言
Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT文件的最后修改时间
Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒
Content-Disposition: attachment; filename=aaa.zip指示客户端下载文件
Set-Cookie:SS=Q0=5Lb_nQ; path=/search服务器端发送的Cookie
Expires: -1
Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0) 表示告诉客户端不要使用缓存
Connection: close/Keep-Alive
Date: Tue, 11 Jul 2000 18:23:51 GMT
(3)响应正文
和网页右键 “ 查看源码” 看到的内容一样
14、Tomcat
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。