优秀的编程知识分享平台

网站首页 > 技术文章 正文

[835]ScalersTalk成长会Java小组第6周学习日志

nanyue 2025-09-01 10:11:16 技术文章 9 ℃

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热部署的方法

静态部署

  1. 直接将web项目文件件拷贝到webapps目录中

    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb

    webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:

    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"\>

    将appBase修改即可。

  2. 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的时候,才允许TomcatWeb应用使用容器内的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定义的内容:

  1. 站台的名称和说明

  2. 针对环境参数(Context)做初始化工作

  3. Servlet的名称和映射

  4. Session的设定

  5. Tag library的对应

  6. .JSP网页设定

  7. Mime Type处理

  8. 错误处理

  9. 利用JDNI取得站台资源

ScalersTalkID:scalerstalk

本微信公众号作者Scalers,游走在口译世界的IT从业者。微信公众号ScalersTalk,微博@Scalers,网站ScalersTalk.com,口译100小时训练计划群C 456036104

成长会是由Scalers发起的面向成长、实践行动,且凝聚了来自全球各地各行各业从业者的社群。有意入会者请和Scalers直接联系,我和其他会员会和你直接交流关于成长行动等各方面的经验教训。2016年成长会持续招募中,参见做能说会写的持续行动者:ScalersTalk成长会2016年会员计划介绍(2016.3更新)

最近发表
标签列表