一、tomcat
1.JavaEE规范
由一组相关的技术构成的集合,规范:由相应的类和接口构成
常用服务器介绍
经常用Tomcat JSP/Servlet规范做了实现
2.Tomcat目录结构
bin 主要放批处理文件 startup.bat ,shutdown.bat停止
conf 存放Tomcat相关的配置文件 server.xml web.xml context.xml
lib 存放jar包
logs 日志信息
temp 存放临时文件(文件上传)
webapps 存放Tomcat中所包含的应用,有几个文件夹就有几个应用
Root/index.html
work: Tomcat工作时所产生的目录
3.一个常用Web项目所包含的目录结构
WEB-INF:必须的 (该目录中所包含的内容,外界不能访问)
lib jar包
classes class字节码文件
web.xml 必须的
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
css文件夹
html文件夹
部署的方式
1.直接将应用程序文件夹拷贝到Tomcat的webapps
2.打war包 jar -cvf web应用目录 .
把war包拷贝到webapps目录下
4.虚拟目录
1.在Host中加入<Context path="" docBase="">
path代表应用的访问路径,一定要有"/"
docBase代表的是应用的真实路径
缺点:
要重新启动服务,才能加载进来
2.做一个虚拟目录第二种方式
conf/[Catclina]/[localhost]/应用名.xml
文件xml中的内容
<Contex docBase=""/>
3.玩玩
ROOT.xml后,自己的应用也可以变成默认的
4.设置主页
改Tomcat的web.xml文件
<welcome-file-list>
<welcome-file>1.html</welcome>
</welcome-file-list>
改端口69行 port="80" 这样就不需要写端口了,原因http默认用80端口号
5.配置虚拟主机
二、http协议
1.它是什么?
超文本传输协议,HyperText Transport Protocol
TCP/IP在表示层的一个应用,表示层 ----------->OSI七层参考模型
作用:是浏览器和服务器进行数据交换一种标准格式
0734 010-8769567
版本:HTTP1.0 HTTP1.1(目前用)
两个版本对比发现,1.0建立连接后只能请求响应一次,而1.1可以进行多次请求和响应,连接才会断开
去监视浏览器请求和响应的行为,1.Telnet命令 2.HttpWatch来进行监视
一个关键的问题:
外部文件的引入,就会再次由浏览器本身发送一个请求,<link> <img src=""> <scipt src="">
2.请求头的特点:
总体特点: 第一行是请求方式 第二行是一组请求头信息 第三行是空白
第一行是请求方式
GET /app/2.html HTTP/1.1 请求方式:(请求类型 请求资源 协议版本
GET与POST两种请求数据方式的区别
GET:主要用于提交数据时,在地址拦能看见数据,相对不安全,另外就是提交数据有长度限制 ,不能超过1kb
POST:提交的数据放在主体内容中,所以相对安全,没有数据量的限制
第二行是一组请求头信息
Accept 浏览器告诉服务器, 自己能接收MIME类型的数据
MIME: Multipurpose Internet Mail Extension
特点:一个文件系统,MIME类型靠扩展名进行识别
大类/小类 text/html text/css text/javascript img/bmp
记不住,可以查找 conf/web.xml
*Accept-Charse: 浏览器告诉服务器,自己所支持的字符集(GBK,UTF-8)
*Accept-Encoding:gzip deflate采用哈夫曼编码进行数据的无损压缩
Accept-Language:告诉浏览器,自己所采用语言类型zh-CN
Host:主机
*Referer:告诉浏览器,请求的来源
作用:1.统计网站请求的来源,防盗链
Content-Type:内容类型text/html
If-Modified-Since:缓存的最后时间
User-Agent:浏览器的类型
Content-Length:正文的长度
Connection:close/keep-alive
*Cookie:会话信息
3.常见的状态码
200正常成功
302/307重定向
304 服务器没有做修改
404代不到资源
500代表服务器出现异常
4.响应头信息
Location:指示新的资源的位置
Server:代表服务器端所使用的服务器的类型
Content-Encoding:gzip代表数据压缩的方式
Content-Language:告诉客户端,服务器使用什么样的语言
Content-Type:告诉客户端,服务器采用什么MIME类型
Last-Modified:服务器对资源最后做修改的时间
Refresh:刷新
Content-Disposition:指定下载格式
Set-Cookie:
//清空缓存经常用这三个消息头
Expires: -1
Cache-Control: no-cache (1.1)
Pragma: no-cache (1.0)
Connection: close/Keep-Alive
Date