网站首页 > 技术文章 正文
Scalers点评:这是成长会Java小组第6周学习笔记,Java小组是成长会内部专研Java的小组,目前仅面向成长会成员开放。
Tomcat目录和JavaWeb文件目录解析
Tomcat版本
linux平台
windows平台
安装版本
绿色解压版(Deployer)
tomcat的目录结构
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml/doc:存放tomcat文档/server:包含三个子目录:classes、lib和webapps/server/lib:存放Tomcat服务器所需的各种JAR文件/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)/logs:存放Tomcat执行时的日志文件/src:存放Tomcat的源代码/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录/work:存放JSP编译后产生的class文件
tomcat配置管理员账户和密码
打开tomcat-user.xml(在tomcat安装目录的conf文件夹下),添加一个”manager“的权限,并添加一个登陆名为admin,登陆密码为admin的用户,指定其权限为manager.修改后的tomcat-user.xml如下:
<?xmlversion='1.0' encoding='utf-8'?\> <tomcat-users\> <role rolename="tomcat"/\> <role rolename="role1"/\> <role rolename="manager"/\> <role rolename="admin"/\> <user username="tomcat" password="tomcat"roles="tomcat"/\> <user username="both" password="tomcat"roles="tomcat,role1"/\> <user username="role1" password="tomcat"roles="role1"/\> <user username="admin" password="admin"roles="manager"/\> </tomcat-users\> tomcat热部署的方法
静态部署
直接将web项目文件件拷贝到webapps目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如
Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war mywebwebapps这个默认的应用目录也是可以改变。打开
Tomcat的conf目录下的server.xml文件,找到下面内容:<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"\>将appBase修改即可。
在
server.xml中指定在
Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。在
tomcat中的conf目录中,在server.xml中的,\<Context path="/hello" docBase="D:workspacehelloWebRoot" debug="0"privileged="true"\> </Context\> 或者 <Context path="/myapp"reloadable="true" docBase="D:myapp"workDir="D:myappwork"/\> 或者 <Context path=“/myapp”docBase="D:workspacemyappWebRoot"/\>
说明:
path是虚拟路径;
docBase是应用程序的物理路径;
workDir是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;
debug则是设定debug level,0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署.
javaweb应用程序目录
WEB-ROOT : 根目录,一般虚拟目录会直接在此目录中设置
| —- WEB-INF 整个WEB中最安全的目录,无法直接访问,若访问,需要在web.xml中配置
|— classes 保存所有的 .class文件 所有的class都要放在 包中
|— lib 存放第三方的jar文件
|— web.xml WEB的部署描述符,启动一个 WEB 项目的时候, WEB容器会去读取它的配置文件web.xml
|—- css 存放所有的 .css文件
|—- js 存放所有的 *.js文件
|—- jsp 存放所有的jsp文件
|—- index.htm, index.jsp 欢迎页面
web.xml定义的内容:
站台的名称和说明
针对环境参数(Context)做初始化工作
Servlet的名称和映射
Session的设定
Tag library的对应
.JSP网页设定
Mime Type处理
错误处理
利用JDNI取得站台资源
ScalersTalkID:scalerstalk
本微信公众号作者Scalers,游走在口译世界的IT从业者。微信公众号ScalersTalk,微博@Scalers,网站ScalersTalk.com,口译100小时训练计划群C 456036104
成长会是由Scalers发起的面向成长、实践行动,且凝聚了来自全球各地各行各业从业者的社群。有意入会者请和Scalers直接联系,我和其他会员会和你直接交流关于成长行动等各方面的经验教训。2016年成长会持续招募中,参见做能说会写的持续行动者:ScalersTalk成长会2016年会员计划介绍(2016.3更新)
猜你喜欢
- 2025-09-01 "类加载器"与"双亲委派机制"一网打尽
- 2025-09-01 http学习笔记1_http2基础教程
- 2025-09-01 Maven中常用标签和生命周期总结_maven pom标签
- 2025-09-01 深圳尚学堂:JSP 九大内置对象_jsp的内置对象及方法
- 2025-09-01 ActiveReports报表控件教程之如何使用JSP程序调用it
- 2025-09-01 java中的jar包,war包详解_java -jar war包
- 2025-09-01 tomcat常用的配置以及简单调优_tomcat主要配置
- 2025-09-01 JSP 是否被淘汰_jsp已经过时了吗
- 2025-09-01 java web服务器tomcat介绍_java web 服务器
- 2025-09-01 Struts2.3.32升级到2.5.26详细步骤(无敌版)
- 最近发表
-
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
