为什么Tomcat的webapps目录下新建的目录不能访问html文件?

在Tomcat安装目录中,webapps默认为部署网站用的目录。webapps/ROOT是网站的根目录,其它目录都是网站的子目录,如webapps\jsp-examples目录。但是,当我们新建一个子目录时,却并不能在浏览器里正常访问。就连HTML文件也访问不了。为什么会出现这种情况呢?

  原来,在Tomcat中,每一个webapps下的子目录都被认为是一个JSP站点。因此,该子目录必需要有JSP站点的必要结构才行。也就是,在创建的子目录下,必需有WEB_INF目录以及WEB_INF下的web.xml文件。WEB_INF目录以及其下的web.xml文件,是JSP用来配置站点用的。

  以test子目录为例,以下就是正确配置Tomcat子目录的目录结构:

webapps\
            ┝ ROOT\
            │        │
            │        ┕ …
            ┕ test\
                        │
                        ┝ index.html
                        │
                        ┕ WEB_INFO\
                                    │
                                    ┕  web.xml

  空的web.xml文件内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  Copyright 2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

</web-app>

感谢http://www.cnblogs.com/legendry/archive/2006/04/27/386508.html

时间: 2024-10-02 22:58:45

为什么Tomcat的webapps目录下新建的目录不能访问html文件?的相关文章

Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置

区别: 1.两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效,同样是永久变量,是全局变量. 2./etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件. 3.需要注意的是,/etc/profile和/etc/profile.d同样是登录(login)级别的变量,当用户重新登录sh

到某个目录下新建文件

想要到 www 目录下新建一个 test.html 文件: Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录). Linux cd命令用于切换当前工作目录至 dirName(目录参数). 原文地址:https://www.cnblogs.com/xiaoxuStudy/p/12678658.html

使用windows API函数获取目录下所有文件名---目录下文件的扫描和处理

直接上代码 // test_max.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include <Shlwapi.h> #include <iostream> #include <string> #include <vector> #pragma comment(lib,"shlwapi.lib") //注意放置的位置

python 读取一个目录下的所有目录和文件

觉着没事,应该学点东西.找到以前看过的python,试着做了个读取文件的程序.不管效果怎么,总算成功了. #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回

php目录下的ext目录中,执行的命令

php的目录下的ext目录,如果你只需要一个基本的扩展框架的话,执行下面的命令: ./ext_skel --extname=module_name module_name是你自己可以选择的扩展模块的名字,例如我选择的my_module.执行工具后会自动在ext目录下建立你选择的module_name名字的目录,里面已经生成了相关的代码,这些代码中只需要调整config.m4文件中的三行注释就可以正常的编译带这个自定义扩展模块的php了.在php的根目录执行下列操作就可以得到. ./buildco

Linux shell批量删除指定目录下的所有目录的编程思路

应用场景:某个目录中存放着许多软件的源码压缩包,在部署完这些软件后,一定会生成许多没用的临时目录,可以通过脚本的方式删除该目录下所有的目录.当这个目录中存在着一些特殊名字的目录时,例如这些目录中有Linux系统所不支持的特殊字符"/"(这些文件通常有可能是Windows系统所支持的)或有目录名中有空格,那批量删除这些目录就会变得困难. 问题分析与解决办法: 问题1.当前工作目录中有一些重要的目录可能不想被删除 解决办法:排除这些目录即可 问题2.需要考虑一些特殊的目录名称,诸如&quo

查找/etc目录下大于1M且类型为普通文件的所有文件

第五周1.查找/etc目录下大于1M且类型为普通文件的所有文件 2.打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/localsrc目录备份.3.利用sed 取出ifconfig命令中本机的IPv4地址 4.删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符5.处理/etc/fstab路径,使用sed命令取出其目录名和基名 原文地址:https://blog.51cto.com/11911897/2482780

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url=Vz4TlygvnMyYVj105bCuzkusjF0G5rM6opHvEzhcCaJK5s1gFUZ3PBgAWCNsfY1RmtPf4ZEo8EV_Gd7SYKV4S_ 在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,

小黑的日常折腾-复制外部命令的可执行文件和依赖库文件到指定目录下的对应目录

清明三天假期基本都是在写脚本中度过了,今天又折腾了一个新的脚本,该脚本的作用是快速复制一个或多个命令的可执行文件和依赖库文件到一个模拟的根文件系统下的相应目录下,这个脚本平时运维估计用不到,只有自己制作一个小的Linux发行版时才有可能使用该脚本. 脚本具体的功能如下: 1)提示用户选择要从文本中读取要复制的命令名还是从当前终端中交互式输入命令名. 2)用户选择前者,会自动使用vim打开一个文件,用户根据格式说明填入要复制的命令的名称,可以是多个命令,保存退出后自动执行复制操作. 3)用户选择后