Tomcat
javaWeb
- 定义:所有通过Java语言编写的可以通过浏览器访问的程序的总称
- JavaWeb是基于请求和响应来开发的
- 请求:客户端给服务器发送数据,request
- 响应:服务器给客户端回传数据,response
- 二者的关系:二者成对出现,有请求就有响应
- 客户端:浏览器
- 服务器:Tomcat
Web资源的分类
- 这里的web泛指所有浏览器,不特定于Java
- web资源按实现的技术和呈现的效果的不同,分为静态资源和动态资源
- 静态资源:html、css、js、txt、mp4、jpg图片等等
- 动态资源:jsp页面、Servlet程序、asp、php等等
常用的Web服务器
- Tomcat:由Apache组织提供的一种web服务器,提供对jsp和Servlet的支持。他是一种轻量级的javaWeb容器(服务器),也是当前应用最广的javaWeb服务器(免费)
- Jboss:一个遵从javaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)
- GlassFish:由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少)
- Resin:是CAUCHO公司的产品,是一个非常流行的服务器,对Servlet和JSP提供了良好的支持,性能也比较优良,自身采用JAVA语言开发(收费,应用较多)
- WebLogic:Oracle公司的产品,是目前应用最广泛的Web服务器(收费层面),支持JavaEE规范,而且不断地完善以适用新的开发要求,适合大型项目(收费,用的不多,适合大公司 )
Tomcat服务器和Servlet版本的对应关系
- Servlet程序2.5版本是现在市面上使用最多的版本(基于xml配置)
- Servlet3.0之后,使用注解
Tomcat服务器的使用
安装
找到你需要对应的tomcat版本对应的zip压缩包,解压到需要安装的目录即可
目录介绍
- bin目录,专门用来存放tomcat服务器的可执行程序
- conf目录,专门用来存放tomcat服务器的配置文件
- lib目录,专门用来存放tomcat服务器的jar包
- logs目录,专门用来存放tomcat服务器运行时输出的日志信息
- temp目录,专门用来存放tomcat服务器运行时产生的临时数据
- webapps目录,专门用来存放部署的web工程,一个目录一个工程
- work目录,tomcat工作时的目录,用来存放tomcat运行时jsp翻译为servlet的源码和session钝化(把一个对象写在磁盘上)的目录
如何启动
-
方法:
- 找到tomcat目录下的bin目录的startup.bat文件,双击启动
- 使用命令行(可以看到错误信息):
- 打开命令行
- cd到tomcat的bin目录下
- 敲入启动命令:catalina run
-
测试是否启动成功:
- 打开浏览器,在浏览器地址栏中输入以下地址测试
- http://localhost:8080
- http://127.0.0.1:8080
- http://真实ip:8080
- 弹出tomcat的欢迎页面
- 关闭启动弹出的页面,再输入以上网址则无法访问
- 打开浏览器,在浏览器地址栏中输入以下地址测试
-
启动失败的常见问题
- 双击startup.bat文件,窗口一闪而过
- 原因是没有配置好JAVA_HOME环境变量
- JAVA_HOME必须全部大写
- JAVA_HOME中间必须是_,而不是-
- JAVA_HOME配置的路径只需要配置到jdk的安装目录,不需要带上bin目录
- 8080被占用
- 上次访问服务器没有关闭
- 原因是没有配置好JAVA_HOME环境变量
- 双击startup.bat文件,窗口一闪而过
如何停止tomcat
- 点击tomcat服务器窗口(跳出来的命令行窗口)的“x”关闭按钮
- 将tomcat服务器窗口置于当前窗口,按Ctrl+c
- 找到tomcat的bin目录下的shutdown.bat,双击(主要)
如何修改tomcat的端口号
- 默认端口号
- mysql默认的端口号:3306
- tomcat默认的端口号:8080
- 更改方法:
- 找到tomcat目录下的conf目录中的server.xml配置文件
- 找到Connector标签
- 将port属性值修改为你需要的端口号(1-65535,一般不要选1000以内的 ,都是系统使用的)
- 重启Tomcat(重点,否则不生效)
- 科普:
- 平时上百度:http://www.baidu.com
- 实际上,百度:http://www.baidu.com:80
- HTTP协议默认的端口号是:80,因此80会自动隐藏
如何部署web工程部署到tomcat中
-
tomcat是一个服务器,供很多人方法
-
部署方法:
-
把web工程的目录拷贝到tomcat目录的webapps目录下
- 在webapps中创建book工程
- 把内容拷贝到里面
- 如何访问?
- 在浏览器中输入网址
- 格式:http://ip:port/项目(工程)名/文件(资源)名
- 如:http://localhost:8080/book/index.html
-
在conf目录下的Catalina下的localhost创建xml配置文件
-
一般一个xml文件表示一个工程
-
- - - <!--Context表示一个工程上下文 path表示工程的访问路径:/book2,且必须和xml文件名相同 docBase表示你的工程目录在哪里 --> <Context path="/book2" docBase="D:\Developer_tools\test\JavaWeb\book_static" />
-
在浏览器中输入网址,格式:http://ip:port/项目名/文件名
-
-
手拖html页面到浏览器和在浏览器中输入地址访问有什么区别
- 手拖到浏览器
- file:///D:/Developer_tools/test/JavaWeb/book_static/index.html
- 使用的协议是file协议,表示告诉浏览器直接读取协议后面的路径,解析展示在浏览器上即可
- 不走网络
- 在浏览器输入网址
- http://ip:port/项目名/资源名
- 使用的是http协议
- 浏览器发送请求,服务器收到请求后,读取你要访问的资源文件,然后回传给客户端要的页面内容,客户端得到html内容,解析展示在浏览器上
默认访问的工程和默认访问的资源
-
http://ip:port/,当输入没有工程名,默认访问root工程
-
当我们在浏览器输入的访问地址如下,http://ip:port/项目名,但是没有资源名,默认访问index.html
如何在IDEA中整合Tomcat服务器
- File | Settings | Build, Execution, Deployment | Application Servers —>点击"+",选择Tomcat Server
- 在Tomcat Home中配置Tomcat的安装目录,点击OK
- 注意:只有在企业版中才有,社区版不存在这个功能
- 可以放多个服务器版本
如何在IDEA中动态创建Web工程
-
先有工程,再有模块
-
IDEA2020之前的版本
- 创建模块,选择Java Enterprise,自动创建环境
- 勾选下面的Web Application和Create web.xml
- 写名字完成创建
- 创建模块,选择Java Enterprise,自动创建环境
-
IDEA2020之后的版本
- 新建module
- 普通java项目,而不是Java Enterprise
- 添加框架支持
- 右键module名字,Add Frameworks Support
- 选择Java EE版本
- 勾选Web Application和Create web.xml
- 新建module
-
动态web工程目录结构
【IDEA快捷键】Ctrl+Shift+Alt+s,进入Project Structure
【注】module下可以创建package,而project中不能
导入jar包
-
方法一
- 在WEB-INF中新建lib目录,复制粘贴jar包
- 选中jar包(可多选),右键-> add as library -> level选择module library
-
方法二
- 打开项目结构菜单,创建一个类库
- project structure | Modules | Dependencies -> 点击"-"移除依赖
- project structure | Libraries | -> 点击"+" 添加new project library ->选择Java
- 选择类库需要的jar包
- 选择jar包所在的目录(事先放入jar包该存在的目录)-.选择Modules,点击ok
- 点击Apply
- project structure | Artifacts->点击”fix“,将类库添加到打包部署中
- 点击"+",web application,from module
- 打开项目结构菜单,创建一个类库
运行
- 选择 Run -> Edit Configuration -> 左上角加号 -> Tomcat Server->Local
- 建议修改web工程对应的Tomcat运行实例名称(Server)
- 建立web工程时会自动建立
- 名字建议与web工程名字相同
- URL中是启动tomcat运行实例时,默认打开访问的地址
- 可以进行修改
- 确认你的Tomcat实例中有你要部署运行的web工程模块(Deployment)
- 叫做tomcat:war exploded
- 按钮介绍
- 绿色三角:正常启动tomcat实例
- 绿色小虫子:debug启动Tomcat实例
- 红色方块:停止Tomcat实例运行
- 点击绿色三角后出现的绿色箭头
- restart server:重启tomcat运行实例,并更新web模块内容
- update resources:重新更新web工程中的资源到Tomcat运行实例中
- update classes and resources:更行web工程中的class字节码和资源文件到tomcat运行实例中
- redeploy:重新部署web模块,但是不重启tomcat实例
其他说明
-
修改工程路径
- 在debug configurations | Deployment中
- 修改Application context
- 建议和模块名相同
-
修改端口号
- 在debug configurations | Server中
- 修改HTTP port
- 若你有需要运行多个
-
修改运行使用的浏览器
- 在debug configurations | Server中
- 选择After launch后的下拉框
- 默认是你系统默认的浏览器
-
配置资源的热部署
- 修改代码后,浏览器刷新后立刻做出响应,内容调整
- 在debug configurations | Server中
- 修改On frame deactivation,选择update classes and resources
-
On ‘Update’ action:选择点击绿色三角后出现的绿色箭头的默认第一选项