刚才使用了fileupload的jar包,老样子,我只是在eclipse中将其添加到了project的java build path/libraries中

我以为这样就行了,是的,是行了,仅仅能保证在eclipse中编译java文件是没有问题的,但是


tomcat编译jsp文件的时候,就找不到class的定义了,这也是为什么我在运行页面的时候总是出现如下报错(如果用 import="xxx.yyy.zzz.*"的话)

或者,这样的报错(使用import="xxx.yyy.zzz.ClassName")

解决办法就是向%WEB-ROOT%/WEB-INF/lib/中放上所有你的app要使用的jar包。就好像你写好了一些java的class,也要把那些.class文件放到%WEB-ROOT%/WEB-INF/classes/中一样!

在eclipse中导入jar包,仅仅是方便了你进行代码编写和编译而已!跟tomcat没几毛钱关系~

针对这个问题,再复习一下WEB-INF文件夹的作用:

=================================================

WEB-INF  
    /WEB-INF/web.xml  
        你的Web应用程序配置文件,这是一个XML文件,其中描述了 servlet 和其他的应用组件配置及命名规则;   
    /WEB- INF/classes/  
        这个目录包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中。 
        站点的类的存放规则应该按照Java的打包规则执行。例如:有一个类命名为com.mycompany.mypackage.MyServlet,你应该按照以下形式部署: /WEB-INF/classes/com /mycompany/mypackage/MyServlet.class; 
        按照包名结构放置各个类(JavaBean   和   Servlet)      
    /WEB- INF/lib/  
        存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件   
    /WEB- INF/src/  
        src=source 源码目录,按照包名结构放置各个java文件   
    /WEB- INF/database.properties         数据库配置文件 
            # database.properties 
            jdbc.drivers = com.mysql.jdbc.Driver             jdbc.url = jdbc:mysql://localhost/ams2              jdbc.username = root              jdbc.password = sh2007ai   
            # table define  
            ams2.table.dialogue = content_dialogue 
            ams2.table.expansion = content_expansion_sentence             ams2.table.vocabulary = content_vocabulary   
    /WEB-INF/tags/  
        标签文件库,存放了客户定义的标签文件,该目录并不一定为 tags,用户可以根据自己的喜好和习惯为自己的标签文件库命名,当使用了用户定义的标签文件库名称时,在用户使用标签文件时就必须声明正确的标签文件库路径。例如:当自定义标签文件库名称为simpleTags时,在使用simpleTags目录下的标签文件时,就必须在jsp文件头声明为:<%@ taglib prefix="tags" tagdir="/WEB-INF /simpleTags" % >;

    /WEB-INF/jsp/  
        Jsp 1.2 以下版本的文件存放位置。改目录没有特定的声明,同样,用户可以根据自己的喜好与习惯来命名。此目录主要存放的是Jsp 1.2 以下版本的文件,为区分Jsp 2.0 文件,通常使用jsp命名,当然你也可以命名为jspOldEdition;  
    /WEB-INF/jsp2/  
        与jsp文件目录相比,该目录下主要存放Jsp 2.0 以下版本的文件,当然,它也是可以任意命名的,同样为区别Jsp 1.2 以下版本的文件目录,通常才命名为 jsp2。   
META-INF   
    相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务 
    manifest.mf文件,在用jar打包时自动生成

关于WEB-INF文件夹中的内容的更多相关文章

  1. Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

    这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...

  2. Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容

    ① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...

  3. 在Eclipse的DDMS中查看手机data文件夹中的内容

    在模拟器状态下,在Eclipse的DDMS中的File Explorer下查看手机data/data中的内容是件非常轻松的事情,特别是查看databases 但是在真机模式下就全然不是那么一回事了,在 ...

  4. java IO流实现删除文件夹以及文件夹中的内容

    这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调 ...

  5. VBA读取固定文件夹中txt内容

    Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j%, txtpath ...

  6. 新建android项目src和layout文件夹中没有内容的问题

    这个问题好像是最新版ADT(ver:23.0.0)才会出现的问题,解决办法也简单,直接把android SDK和ADT的老版本(ver:22.6.2)覆盖安装一次就好了.至于新版为什么会这么设计,现在 ...

  7. aspx文件移动到新建的文件夹中设置路径的问题

    项目中仅仅把aspx移动到想要的文件夹内是会出错的,不用想也知道是路径问题.这里我就说这个路径该如何去修改. 两个地方需要修改:1.母版路径修改方法: <link href="Styl ...

  8. 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

    前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...

  9. 在Myeclipse中拷贝一个web项目,但是tomcat文件夹中没有更新,需要进行修改才能更新。

    1.在Myeclipse中拷贝一个web项目,但是tocat文件夹中没有更新,需要进行修改才能更新. 2.方法:右键这个工程,然后Properties->MyEclipse->Projec ...

随机推荐

  1. python之函数用法isinstance()

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法isinstance() #isinstance() #说明:返回一个布尔值,判断数据 ...

  2. 【vue.js】windows下安装vue.js

    windows下搭建vue开发环境 Vue.js是一套构建用户界面的 “渐进式框架”.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常 ...

  3. write()和prinln()的区别?

    输出数字不同: write()输出数字转换为字符,println原样输出. 输出null不同: write()输出引用类型的时候调用的toString转换为String数据,因此如果对象为null那么 ...

  4. HDUOJ--Holding Bin-Laden Captive!

    Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Ja ...

  5. 分布式缓存技术memcached学习系列(二)——memcached基础命令

    上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...

  6. python练习笔记——分解质因数

    分解质因数:输入一个正整数,分解质因数:如输入: 90   则打印: 90 = 2 * 3 * 3 * 5 get_str = input("请输入一个100以内的正整数,以分解质因数:&q ...

  7. Python练习笔记——利用递归求年龄,第五个比第四个大2岁...

    现在有五个人, 第五个人比第四个人大两岁,18 第四个人比第三个人大两岁,16 第三个人比第二个人大两岁,14 第二个人比第一个人大两岁,12 第一个人现10岁,                 10 ...

  8. System V IPC

    1.概述 System V IPC共有三种类型:System V消息队列.System V 信号量.System V 共享内存区. System V IPC操作函数如下: 2.key_t键和ftok函 ...

  9. Unix环境高级编程(七)fork函数总结

    在Unix/Linux中用fork函数创建一个新的进程.进程是由当前已有进程调用fork函数创建,分叉的进程叫子进程,创建者叫父进程.该函数的特点是调用一次,返回两次,一次是在父进程,一次是在子进程. ...

  10. 红黑树 - C++代码实现

    红黑树的介绍 红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树.红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键 ...