一. 软件架构
1.C/S:客户端/服务器端
2.B/S(客户端零维护,客户通过域名访问):浏览器/服务器端,目前的开发都是基于这个结构的
二. 资源分类(服务器内)
1.静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源。静态资源可以直接被浏览器解析。
* 如,html, css, JavaScript
2.动态资源:每个用户访问相同资源后,得到的结果可能不一样,称为动态资源。动态资源被访问后,需要先转换为静态资源,再返回给浏览器。
* 如,servlet/jsp,php,asp....
三.网络通信的三要素
1. IP:电子设备(大多数情况为计算机)在网络中的唯一标识。
2. 端口:应用程序在计算机中的唯一标识。取值范围:0~65536
3. 传输协议:规定了数据通信/传输的规则。
两个基本的协议:
①TCP协议:安全协议,传输前经过三次握手,速度稍慢。
②UCP协议:不安全协议,速度快。
四. JavaEE:java语言在企业级开发中使用的技术规范的总和,一共有13项大的规范。
* 在Web服务器软件中,可以部署Web项目,让用户通过浏览器来访问这些项目
* 又被称为Web容器
* webLogic:Oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
* webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
* JBoss:Jboss公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
* Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp,开源的,免费的。
1. 安装
下载地址:https://tomcat.apache.org/
安装步骤:解压即可。
2. 目录结构
① bin:存放可执行文件,tomcat在这里启动。(其中.sh是在linux操作系统下可执行的)
② conf:存放配置文件,需要重点修改。
③ lib:依赖jar包。
④ logs:日志文件。
⑤ temp:存放临时文件,不太常用。
⑥ webapp:存放web项目,非常重要。
⑦ word:存放运行时的数据。
3. 启动:
①访问自己的:点击bin中的startup.bat,浏览器中输入http://127.0.0.1:8080/或者http://localhost:8080/(127.0.0.1是本机默认地址,8080是tomcat自带端口号)
②访问别人的:浏览器中输入http://别人的ip + 端口号
③可能遇到的问题:
* 黑窗口一闪而过:
原因:没有正确配置JAVA_HOME环境变量
解决方案:正确配置环境变量即可
* 启动报错:
原因:通过logs去分析,如果是java.net.BindException: Address already in use: JVM_Bind,可能是端口号用重复了。
解决方案:找到被占用的端口号的程序,直接通过PID(进程ID)在任务管理器中杀死该进程。
或在conf中修改自身端口号,修改这一段
redirectPort="8445" />
如果想要同时启动两个tomcat,那么所有其他的port也要修改,包括redirectPort。
一般会将tomcat的默认端口号设为80,因为80是http协议的默认端口号,好处是在访问时不用输入端口号。
4. 关闭
①正常关闭:双击bin中的shutdown.bat 或 ctrl+C,比较推荐这种方式。
②强制关闭:直接×掉窗口,并不推荐。
5. 部署项目
(1)部署项目方式
①直接将项目放到webapps目录下即可。
* /hello(比如你的项目是hello,是放在webapps目录下面的文件夹) —> 项目的访问路径,又称虚拟目录。
或 将项目打成war包,再将war包放置在webapps目录下,war包会自动解压缩。
②配置conf/server.xml文件(这种方式修改一些东西后,必须重启服务器才能生效)
在
其中docBase:项目存放的目录
path:虚拟目录,即访问时是localhost:端口号/path/
③在conf\Catalina\localhost创建任意名称的xml文件,在文件中编写
在访问时的虚拟目录是xml文件的名称。
(2)静态项目和动态项目
①目录结构:
java动态项目的目录结构:
--项目的根目录
--WEB-INF目录:
--web.xml:web项目的核心文件
--classes目录:放置字节码文件的目录
--lib目录:放置依赖的jar包
1. 概念:运行在服务端的小程序
①Servlet:就是一个接口,定义了java类被浏览器访问到的(或者被tomcat识别的)规则。
②将来我们定义一个类,实现Servelet接口,复写方法。(使用java EE 7 api doc文档可以查看该接口定义)
2. 快速入门步骤:
①创建JavaEE项目
②定义一个类,实现Servlet接口
③实现接口中的抽象方法
④配置Servlet
在web.xml中的
demo01
web.servlet.ServletDemo01
demo01
/demo01
3. 执行原理
①当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet资源的路径;
②查找web.xml文件,是否有对应的
③如果有,则在找到对应的
④tomcat会将字节码文件加载进内存,并且创建其对象
⑤调用其方法