1.web相关概念回顾
-
软件架构
- C/S:客户端/服务器端
- B/S:浏览器/服务器端
-
资源分类
- 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析
- 如: html,css,JavaScript
- 动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器。
- 如:servlet/jsp,php,asp…
- 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析
-
网络通信三要素
- IP:电子设备(计算机)在网络中的唯一标识。
- 端口:应用程序在计算机中的唯一标识。 0~65536
- 传输协议:规定了数据传输的规则
- 基础协议:
- tcp:安全协议,三次握手。 速度稍慢
- udp:不安全协议。 速度快
- 基础协议:
2.web服务器软件:
- 服务器:安装了服务器软件的计算机
- 服务器软件:接收用户的请求,处理请求,做出响应。(如mysql软件等)
- web服务器软件:接收用户的请求,处理请求,做出响应。(用户通过浏览器访问的)
在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目
web服务器有时候被称为:web容器。
补充:动态资源不能直接地运行,它得依赖web服务器软件,也就是说动态资源只能运行在web服务器软件里面。
- 常见的java相关的web服务器软件:
- webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。
(解释:你用Tomcat运行大型的Java项目,有的规范,Tomcat并不支持。但它支持servlet/jsp这两个规范就够我现阶段的使用了。)
其他:
JavaSE是Java的基础知识,JavaEE是Java的企业版,JavaME是Java的迷你版。
JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范。
3.Tomcat
(1)下载:
(2)安装:解压压缩包即可。
注意:安装目录建议不要有中文和空格
(3)卸载:
删除目录就行了
(4)启动:
- bin/startup.bat ,双击运行该文件即可
补充:.bat是批处理文件,里面写着window的dos命令。Tomcat是纯Java编写的,它的启动和运行是依赖你电脑上的jdk的。- 访问:浏览器输入:http://localhost:8080 回车访问自己
http://别人的ip:8080 访问别人
可能遇到的问题:
-
黑窗口一闪而过:
原因: 没有正确配置JAVA_HOME环境变量
解决方案:正确配置JAVA_HOME环境变量 -
启动报错:
原因:BinException:Address already iin use:bind。这个报错是端口号冲突了或者说端口号被占用了。
当你启动一个Tomcat运行时,Tomcat会占用8080端口,而你再次启动Tomcat时,还得用8080端口,这个时候就冲突了。
解决方案:
a. 暴力:找到占用的端口号,并且找到对应的进程,结束该进程。
在cmd中输入:netstat -ano,找到8080端口,看它的PID(进程ID),然后在任务管理器中可以找到该进程。
b. 温柔:修改自身的端口号。
//在conf/server.xml
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />
一个特殊的端口号,一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号。
好处:在访问时,就不用输入端口号
注意:要改这个文件里好几个地方的端口值,不单单是默认的8080。
(5)关闭:
a. 正常关闭:
- bin/shutdown.bat。
- ctrl+c
b. 强制关闭:
- 点击启动窗口的×
(6)配置:
1)部署项目的方式:
a. 直接将项目放到webapps目录下即可。
- 浏览器通过localhost:8080/hello/hello.html就可以访问到了。
- /hello:项目的访问路径–>称为:虚拟目录。
(虚拟目录的名称一般跟项目的名称一样,也可以是其他命名).
- /hello:项目的访问路径–>称为:虚拟目录。
- 简化部署:将项目打成一个war包,再将war包放置到webapps目录下。
- 补充:项目压缩成zip后,把zip后缀名改成war即可。war包会自动解压缩。
b. 配置conf/server.xml文件(不推荐)
这个方式,项目可以不放在webapps目录下。
在<Host>
标签体中配置<Context docBase="D:\hello" path="/hehe" />
- 需要重启Tomcat.
- docBase:项目存放的路径
- path:虚拟目录
c. 在conf\Catalina\localhost创建任意名称的xml文件。(推荐)
- 不用重启Tomcat.
- 在文件中编写
<Context docBase="D:\hello" />
- 虚拟目录:xml文件的名称
2)动态项目目录结构
- java动态项目的目录结构:
- 项目的根目录
– WEB-INF目录:
– web.xml:web项目的核心配置文件
– classes目录:放置字节码文件的目录
– lib目录:放置依赖的jar包
- 项目的根目录
3)将Tomcat集成到IDEA中,并且创建JavaEE项目,部署项目
-
将Tomcat集成到IDEA中
run->Edit Configuration->Defaults-> Tomcat Server->Local(本地)/Remote(远程)->Configure->Tomcat Home(安装目录) -
创建JavaEE的项目
File->new->Module-> Java Enterprise->JavaEE 7->勾选web Application->-注意版本Versions(JavaEE7对应servlet3.1)>勾上Create web.xml->next。 -
部署项目(默认已经部署了)
run->Edit Configuration->Deployment->Application context(虚拟目录)。
补充:Application context默认是’/’,浏览器访问时不需要输入虚拟目录。
拓展:了解下热部署。
在run->Edit Configuration->Deployment面板中,把两个选项的值都为Update resources。
- On ‘Update’ ation: Update resources;
- On frame deactivation:Update resources;
这样,每当创建一个文件时,项目都会自动重新部署了,不用重启Tomcat。