Web应用和web.xml

JSP、Servlet、Listener和Filter等都必须运行在Web应用中,因此应该熟悉如何构建一个Web应用。

1. 构建Web应用

徒手创建一个Web应用,如下步骤:

  1. 在任意目录下创建一个文件夹,并命名为webDemo,将其作为一个Web应用;
  2. 在第一步创建的文件夹内创建一个WEB-INF文件夹(注意大小写,这里区分大小写);
  3. 进入Tomcat或其他的Web容器内,找到任何一个Web应用,将Web应用的WEB-INF下的web.xml文件复制到第2步创建的WEB-INF文件夹下。(对于Tomcat而言,其webapps目录下有大量的示例Web应用)
  4. 修改复制后的Web.xml文件,将该文件修改成只有一个根元素的XML文件。修改后的web.xml文件代码如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
      version="3.1"
      metadata-complete="true">
    
    </web-app>
    
  5.  在第2步创建的WEB-INF路径下,新建两个文件夹:classes和lib,这两个文件夹的作用完全相同:都是用于保存Web应用所需要的Java类,区别在于classes保存单个*.class文件;而lib保存打包后的JAR文件;
  6. 经过以上步骤,就创建了一个空的Web应用。将该Web应用复制到Tomcat的webapps路径下,该Web应用将可以自动部署在Tomcat中,而后就可以通过浏览器来访问这些页面了。

经过以上步骤,不难发现,Web应用文件结构如下:

<webDemo> - Web应用的名称,可更改
|- WEB-INF
|    |-classes
|    |-lib
|    |-web.xml
|- test.jsp - 此处可以存放任意多个JSP页面

将上面的webDemo应用复制到Tomcat的webapps目录下(部署完成),启动Tomcat服务器,使用浏览器访问http://localhost:8888/webDemo/test.jsp,如图1所示,则说明Web应用构建成功,并已经将其成功部署到Tomcat中。

图1 构建Web应用
​​​​

2. 配置描述符web.xml

位于Web应用的WEB-INF路径下的web.xml被称为配置描述符。

web.xml文件对于Java Web应用非常重要,在Servlet 2.5规范之前,每个Java Web应用都必须包含一个web.xml文件,并且必须放在WEB-INF路径下。

从Servlet 3.0开始,WEB-INF路径下的web.xml文件不在是必须的,但通常还是建议保留该配置文件

对于Java Web应用而言,WEB-INF是一个特殊的文件夹,Web容器会包含该文件夹下的内容,客户端浏览器无法访问WEB-INF路径下的任何内容。

在Servlet 2.5之前,Java Web应用的绝大部分组件通过web.xml文件来配置管理

从Servlet 3.0开始,可以通过注解来配置管理Web组件,因此web.xml文件可以变得更加简洁,也是3.0的简化。

web.xml文件主要负责一下内容:

  • 配置JSP
  • 配置和管理Servlet
  • 配置和管理Listener
  • 配置和管理Filter
  • 配置标签库
  • 配置JSP属性
  • 配置和管理JAAS授权认证
  • 配置和管理资源引用
  • Web应用首页

web.xml文件的根元素是<web-app.../>元素,在3.0规范中,该元素新增了如下的属性:

  • metadata-complete:该属性接收true和false两个属性值。当为true时,改Web应用将不会加载注解配置的Web组件。

每一个Web容器都会提供一个系统的web.xml文件,用于描述所有Web应用共同的配置属性。例如:Tomcat的web.xml放在Tomcat的conf路径下,而Jetty的系统web.xml文件放在Jetty的etc路径下,文件名为webdefault.xml

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值