前言: 刚好今天回来的很早, 总结下 Tomcat及Http的基础知识.
1, Tomcat
web相关概念 web:网页的意思,网页资源包括服务器上的所有资源. web资源分类: 静态的资源:内容不会发生改变的资源 动态的资源:内容可能发生改变的资源 web技术: 静态的web技术:html css js 等 动态的web技术:servlet jsp等 在Java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。 软件架构: c/s:客户端/服务器 例如:英雄联盟 qq b/s:浏览器/服务器 例如:页面游戏 网页版的qq web通信是依靠请求-响应机制完成 常见的web服务器 服务器:硬件服务器 和 软件服务器 weblogic: oracle公司 大型的收费的web服务器 支持javaee的所有规范 websphere: ibm公司 大型的收费的web服务器 支持javaee的所有规范 tomcat: apache组织 中小型的免费的web服务器 支持servlet 和jsp规范 tomcat 安装:解压 apache-tomcat-7.0.53.zip 启动:*\apache-tomcat-7.0.53\bin\startup.bat 测试: 小问题的解决: 端口问题: 1, netstat -aov 查看8080 端口号对应的pid 然后再去找关闭此进程即可 2,修改端口号:打开*\apache-tomcat-7.0.53\conf\server.xml 70行左右 修改port的值 <Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> http默认的端口号是80; 环境变量: 若是安装版,会在环境变量上出现 CATALINA_HOME:要启动的tomcat的路径 关闭: 1.点x 2.ctrl+c 3.shutdown.bat tomcat的目录: bin:存放可执行文件的目录 conf:存放配置文件的目录 lib:tomcat和应用运行时所需要的jar包 logs:存放的日志文件 temp:存放临时文件 webapps:存放web项目的目录 work:存放的是jsp文件对应的java文件和.class文件 web项目目录 myweb(目录) | |---- WEB-INF(目录,通过浏览器访问不到,通过java技术就可以访问到了) | | | |--- classes(目录) :存放的java的字节码文件. | |--- web.xml(文件) :项目的核心配置文件 |---- html,css,js... | 发布项目 方式1:把项目复制到tomcat/webapps目录下 访问路径: 方式2:修改\apache-tomcat-7.0.53\conf\server.xml ---不建议使用 修改170行 在<host>标签下添加如下代码 <Context path="/项目名" docBase="项目的磁盘路径"/> 访问路径: 方式3:在*\apache-tomcat-7.0.53\conf\Catalina\localhost添加一个xml文件 内容为: <Context docBase="项目的磁盘路径"/> 文件的名称即为项目名 tomcat和eclipse整合 war包 方式1:通过myeclipse打包 方式2:进入项目目录,选择全部文件,添加到压缩文件 选择zip格式,最后将后缀名改成.war 方式3:进入项目目录,通过jar命令打war包 jar -cvf 包名.war */2,http协议 超文本传输协议,基于tcp协议之上,默认端口号是80; 请求 格式: 请求行 请求头 请求体 请求行 请求信息里的第一行 格式:请求方式 请求的资源路径 协议/版本 例如:GET /day0801/hello.html HTTP/1.1 请求头 Accept: text/html,image/* --支持数据类型 MIME 格式 大类型/小类型 Accept-Charset: ISO-8859-1 --字符集 Accept-Encoding: gzip --支持压缩 Accept-Language:zh-cn --语言环境 Host: www.itcast.com:80 --访问主机 If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT --缓存文件的最后修改时间 Referer: --来自哪个页面、防盗链 User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Cookie Connection: Keep-Alive --链接状态 Date: Tue, 11 Jul 2000 18:23:51 GMT --时间 重点:Cookie Referer If-Modified-Since Accept-Encoding 请求体:和请求头之间有一个空行 只有post请求才有请求体 参数 username='zhangsan'&password='123' 响应 格式:响应行 响应头 响应体 响应行 响应信息里的第一行 格式:协议/版本 状态码 对状态码的描述 例如:HTTP/1.1 304 Not Modified 状态码: 1xx:正在请求中 2xx:请求响应完成 常见的 200 响应成功 3xx:还需要浏览器进一步操作 常见的状态码: 304:文件没有变化,请查找缓存 302:还需调转 4xx:用户操作错误 404:查找的资源不存在 5xx:服务器错误 500:服务器错误 响应头 常见的响应头 Location: --跳转方向 Server:apache tomcat --服务器型号 Content-Encoding: gzip --数据压缩 Content-Length: 80 --数据长度 Content-Language: zh-cn --语言环境 Content-Type: text/html; charset=GB2312 --数据类型 Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT --最后修改时间 Refresh: 1;url=http://www.augmentum.com --定时刷新 Content-Disposition: attachment; filename=aaa.zip --下载 Set-Cookie:SS=Q0=5Lb_nQ; path=/search Expires: -1 --缓存 Cache-Control: no-cache --缓存 Pragma: no-cache --缓存 Connection: Keep-Alive --连接 Date: Tue, 11 Jul 2000 18:23:51 GMT 重点:Set-Cookie Content-Disposition Last-Modified Content-Type Content-Encoding Location 响应体 和响应头之间有一个空行 浏览器展示的内容