1. 软件架构
1. C/S: 客户端/服务器端
2. B/S: 浏览器/服务器端
2. 资源分类
1. 静态资源: 所有用户访问后, 得到的结果都是一样的, 称为静态资源, 静态资源可以直接被浏览器解析
* 如: html, css, JavaScript
2. 动态资源: 每个用户访问相同资源后, 得到的结果可能不一样. 陈伟动态资源. 动态资源被访问后, 需要先转换为静态资源, 在返回给浏览器
* 如: servlet/jsp, php, asp....
3. 网路通信三要素:
1. IP: 电子设备(计算机)在网络中的唯一标识
2. 端口: 应用程序在计算机中的唯一标识. 0-65536
3. 传输协议: 规定了数据传输的规则
1. 基础协议:
1. tcp: 安全协议, 三次握手. 速度稍慢.
2. udp: 不安全协议. 速度快
* 服务器: 安装了服务器软件的计算机.
* 服务器软件: 接收用户的请求, 处理请求, 做出响应.
* web服务器软件: 接受用户的请求, 处理请求, 做出相应.
* 在web服务器软件中, 可以部署web项目, 让用户通过浏览器来访问这些项目.
* web容器
* 常见的java相关的web服务器软件:
* webLogic: Oracle公司, 大型的JavaEE服务器, 支持所有的JavaEE规范, 收费的.
* webSphere: IBM公司, 大型的JavaEE服务器, 支持所有的JavaEE规范, 收费的.
* JBOSS: JBOSS公司, 大型的JavaEE服务器, 支持所有的JavaEE规范, 收费的.
* Tomcat: Apache基金组织, 中小型的JavaEE服务器, 仅仅支持少量的JavaEE规范servlet/jsp, 开源的, 免费的.
* JavaEE: Java语言在企业级开发中使用的技术规范的总和, 一共规定了13项大的规范.
* Tomcat: web服务器软件
1. 下载: http://tomcat.apache.org/
2. 安装: 解压压缩包即可.
* 注意: 安装的目录建议不要有中文和空格
3. 卸载: 删除这个目录就行了
4. 启动:
* window:
bin/startup.bat, 双击运行该文件即可
* linux和mac:
bin/startup.sh, 在终端./startup.sh
* 访问: 浏览器输入: http://localhost:8080 回车访问自己
http://别人的ip:8080 访问别人
* 可能遇到的问题:
* window:
1. 黑窗口一闪而过:
* 原因: 没有正确的配置JAVA_HOME环境变量
* 解决方案: 正确配置JAVA_HOME环境变量
2. 启动报错:
1. 暴力: 找到占用的端口号, 并且找到对应的进程, 杀死进程
* netstat -ano
* 然后启动任务管理器, 查看, 勾上pid, 找到对应的端口, 结束进程.
2. 温柔: 修改自身的端口号
* conf/server.xml
* <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
* 一般会将tomcat的默认端口号改为80. 80端口号是http协议的默认端口号.
* 好处: 在访问时, 就不用输入端口号
5. 关闭:
1. 正常关闭:
* window:
* bin/shutdown.bat 双击
* 在启动tomcat的黑窗口上ctrl+c
* linux和mac:
* 终端下 ./shutdown.sh
2. 强制关闭:
* 点击启动黑窗口的x
6. 配置:
* 部署项目的方式:
1. 直接将项目放在webapps目录下即可.
* /hello: 项目的访问路径--->虚拟目录
* 简化部署: 将项目打包成一个war包(就是压缩成war包), 在将war包防止带webapps目录下.
* war包会自动解压缩
* 删除时, 删除war包即可, 它会自动删除项目
2. 配置conf/server.xml文件
在<Host>标签体中配置
<!-- 部署项目 docBase项目路径 path访问项目的路径 -->
<Context docBase="/Users/xiaoge/Downloads/hello" path="/helloTomcat" />
* docBase: 项目存放的路径
* path: 虚拟目录
3. 在conf/Catalina/localhost创建任意名称的xml文件. 在文件中编写
<Context docBase="/Users/xiaoge/Downloads/hello" />
* 虚拟目录: xml文件的名称
* 静态项目和动态项目
* 目录结构
* java动态项目的目录结构:
-- 项目的根目录
-- WEB-INF目录:
-- web.xml: web项目的核心配置文件
-- classes目录: 放置字节码文件的目录
-- lib目录: 放置依赖的jar包
1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件
* 查看控制台的log: CATALINA_BASE: /Users/xiaoge/Library/Caches/IntelliJIdea2018.1/tomcat/Tomcat_8_5_31_Tomcat
2. 工作空间 和 tomcat部署的web项目
* tomcat真正访问的是"tomcat部署的web项目", "tomcat部署的web项目"对应着"工作空间项目"的web目录下的所偶遇资源
* WEB-INF目录下的资源不能被浏览器直接访问.
3. 断点调试: 使用"小虫子"启动 debug 启动