java学习笔记—Tomcat(9)
1 目录结构
bin 二进制目录,主要存储的是一些启动和停止服务器的命令startup.bat
conf 配置目录,server.xml web.xml
lib 服务器软件使用的第三方的jar包
logs 记录服务器软件运行时候的日志信息
temp 临时文件存储的目录
webapps 存储开发者需要部署的网站
work 服务器的工作目录,主要承担的是翻译和编译的工作
2 IDE的集成
如果每次开发网站需要使用MyEclipse,但是开发好网站之后需要部署到tomcat上。那么每次需要在Tomcat的安装目录进行启动并手工的部署网站信息,比较繁琐。
因此需要将Tomcat整合到MyEclispe中。
WindowPreferencesServersTomcat6.xEnableTomcat安装根目录
JDK选择自己的JDK
Launchdebug mode|run mode
path
ApplyOK
3 体验网站的发布
- 建立一个自己的网站的文件夹jnb
- 在网站的文件夹中建立一个静态网页index.html
<h2>this is my first site!</h2>
- 将jnb网站部署到tomcat服务器中去进行管理
直接拷贝到tomcat的webapps目录下
- 启动服务器软件
- 直接打开浏览器输入以下的网址进行访问
http://127.0.0.1:8080/jnb/index.html
查看运行结果如下:

4 IDE中网站的开发和发布
在IDE中可以通过使用快捷的方式进行网站的开发、发布和访问。
创建:包视图à 右键à new à web projectà输入项目信息àFinish
发布:下图中的第一个按钮à选择要发布的项目àadd添加要发布的服务器软件àDesploy
启动:下图中的第二个按钮à选择要启动的服务器软件àstart
访问:下图中的第三个按钮à输入网址à回车

5 网站的目录结构
以下的目录结构是一个动态网站必须具备的目录结构。
-----| 网站名 文件夹(web项目名)
--------| 静态资源 HTML、CSS、JavaScript
--------| images 文件夹 *.jpeg *.bit *.gif
--------| 动态资源 *.jsp
--------| WEB-INF 主要存储的是class文件和类库
------------| classes 文件夹、编译好的class文件
------------| lib 文件夹、lass文件运行需要的jar包
------------| web.xml 网站的配置文件
--------| META-INF MyEclispe生成的元信息文件夹
网站的部署
部署即将网站直接交给web服务器进行管理并对外提供可以直接输入网址访问的能力称之为网站的部署。
自动部署
就是将编写好的网站直接以发布的方式或拷贝的方式直接给tomcat的webapps目录。
缺点:
. 在操作系统中任意的文件夹中存储的文件夹个数是有限的。
. 在真实的环境中不可能直接看见webapps目录
优点:
方便快捷
上传部署
开发网站好之后直接使用工具进行war包的压缩使用tomcat提供的管理客户端进行
网站的上传。
直接上传war包。
注意:如果自动解压了请不要将war文件删除。因为这两个文件时相互关联的。如果删
除那么就会全部删除。
缺点:
a) 在操作系统中任意的文件夹中存储的文件夹个数是有限的。
优点:
可以不用面向服务器拷贝
手工部署
需要配置tomcat安装目录的server.xml的Host元素
<Context path="/myitcast" docBase="c:\jnb" />
Context元素代表的是一个具体的网站
path属性的值就是访问该网站的一个URL路径
docBase属性值就是网站在磁盘中的具体的路径
优点:
可以脱离了tomcat的webapps的目录的管理。
缺点:
需要重启。
推荐部署
如果要配置一个网站,但是该网站在其他的磁盘中,那么可以创建一个后缀为.xml的文件。文件的名字将被用作访问网站的路径即path属性值。如果需要访问的时候路径多级的那么需要将文件名以#进行基本的名字的分隔。/a/b那么文件名必须是2#b.xml。如果需要自己的网站是默认的网站那么需要将文件名定义为ROOT.xml。如果网站需要为默认网站,那么必须要重启服务器。
%tomcat_home%\conf\Catalina\localhost
myitcast.xml <Context docBase="c:\jnb"/>
http://localhost:8080/myitcast
java学习笔记—Tomcat(9)的更多相关文章
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- my sql存储过程 基本使用
--------------创建不带参数的存储过程----------------- DELIMITER;; drop PROCEDURE if EXISTS selectStudent; creat ...
- UNITY 接讯飞语音过程总结
11:13 2017/3/141,安装问题:JDK与ECLIPSE位数一定要对应,32位对64位会出现 java was returned ....code 13的弹框错误.版本号可以不一致.2,EC ...
- XML解析的二种方法之dom解析
XML解析的二种方法:dom解析和sax解析 文件大小 存储位置 读取速度 dom解析 小文件 放在内存中 快 sax解析 ...
- Prism之初识
首先,简单地介绍说一下单一应用程序与复合应用程序. 一.单一应用程序 看看上面这张图片,假如我们当前的需求是实现主界面如图所示.如果将其构建成具有用户控件的传统 WPF 应用程序,首先应构建一个顶层窗 ...
- Shared Libraries with Eclipse on 86_64 (64 bits) systems[z]
If you followed my previous post http://linuxtortures.blogspot.com/2012/02/shared-libraries-with-ecl ...
- 二维数组中的查找(java)
问题描述 ...
- 为iOS项目添加Daily Build
很多人在说到Daily Build的时候总是喜欢背书.背书就背书吧,总比混迹软件行业连书都没看过的强.很久以前遇到一个奇葩.每次到代码提交测的通知就着急忙慌的催促组员赶紧干活,开始严重加班,晚饭都不吃 ...
- C++智能指针shared_ptr
shared_ptr 这里有一个你在标准库中找不到的—引用数智能指针.大部分人都应当有过使用智能指针的经历,并且已经有很多关于引用数的文章.最重要的一个细节是引用数是如何被执行的—插入,意思是说你将引 ...
- 关于wcf配置未启动net.tcp监控导致无法访问wcf
在服务里面启动NetTcpActivator和NetTcpPortSharing服务
- Tweak和app交互方案【进程通信】
Core Foundation DEMO:Tweak端: CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCent ...