JavaEE应用程序的部署结构

本文详细介绍了JavaEE应用的部署过程,包括WEB-INF目录结构、web.xml配置文件的重要性,以及Servlet容器如何通过精确映射、路径映射和扩展映射处理请求。此外,还介绍了三种部署JavaEE应用的方式:webapps目录、修改server.xml和context.xml文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

WEB-INF目录

客户端无法直接访问该目录中的文件

  • WEB-INF包括三个子目录
    – classes 所有未被jar包含的应用程序中的相关的类文件
    – lib 使用到的jar文件
    – web.xml 部署描述符,该文件是JavaEE应用的核心,每个JavaEE应用必须有该文件,其包含了Servlet容器(Tomcat)运行JavaEE应用所需要的配置信息
部署描述符(web.xml)
Servlet映射配置
  • 将请求发送给Servlet的两个步骤:
    – Servlet容器先区分请求所属的Web应用
    – 从Web应用查找合适的Servlet来处理请求
  • Servlet容器将请求的URI解析为3个部分
    在这里插入图片描述
  • Request URI
    • Request URI=ContextPath+ServletPath+PathInfo
    在这里插入图片描述
    • 上下文路径(ContextPath): Web应用的根目录
    在这里插入图片描述
    • Servlet路径(ServletPath): 由部署描述符中Servlet映射指定的路径
    在这里插入图片描述
    • 路径信息(PathInfo): Servlet之后的字符串
    在这里插入图片描述
Servlet映射查找
  • 精确映射:请求URI和Servlet映射完全匹配
    • 如:Servlet映射/test/do,请求URI为/test/do
  • 路径映射:Servlet映射以/开始,以/结束
    • 如:Servlet映射/test/do/
    ,请求URI为/test/do/a或/test/do/b
  • 扩展映射:Servlet映射以开始以.xxx结束
    • 如:
    .do,请求为/test/a/a.do或/test/b.do
  • 映射不匹配:如果没有匹配的路径,找不到对应的Servlet,返回404错误
部署JavaEE应用
  • 方式一:webapps目录:
    – 放入JavaEE应用的目录
    – 放war文件
  • 方式二:修改server.xml文件
    – 在Host标签内新建Context
    <Context path=“/myapp" reloadable=“true” docBase=“D:\myapp” workDir=“D:\myapp\work”/>其中path是应用虚拟路径,docBase是应用的物理路径,workDir是应用的工作目录
    – 注:删除一个应用同时删除server.xml中相应的Context节点
  • 方式三:修改context.xml文件
    – 直接在Tomcat的conf\catalina\localhost目录下新建context.xml文件
    – 注:删除一个Web应用同时删除conf\catalina\localhost目录下相应的context.xml文件
  • war文件
    • 同jar的作用类似,将JavaEE应用的资源打包成单独的war文件,方便迁移
    • Tomcat会自动提取webapps目录下的war文件解压并部署
    • 打包的方法
    – 使用eclipse(导出war文件)
    Web服务器通常会维护一个默认的Web应用:webapps\ROOT
    – 访问:http://localhost:8080/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值