关于WEB-INF文件夹中的内容
刚才使用了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打包时自动生成
最新文章
- Echarts xAxis boundaryGap
- Oracle中SYS_CONNECT_BY_PATH函数的使用
- 下一代GNU/Linux显示服务Wayland 1.12正式发布
- sealed(C# 参考)
- Java构造函数的继承问题
- 【每日scrum】NO.4
- [转]Eclipse遇到的常见问题
- 360抢票 网站维护中 &;&; 你的登录被踢了!
- arcgis android 加载google切片 天地图切片 并且能进行缓存
- 开源sip server &; sip client 和开发库 一览
- Java 开源博客 —— Solo 0.6.9 发布时间!
- Documention
- 如何将angular-ui的分页组件封装成一个指令
- 前端程序员经常忽视的一个JavaScript面试题
- 关于Eclipse的版本、分支、衍生版本
- hibernate多对多的更新问题
- Python3学习笔记34-pymongo模块
- vue element-UI 升级报错Cannot find module ";element-ui/lib/theme-default/index.css";
- Redis初步整理
- WEB安全 - 认识与防御XSS攻击
热门文章
- 〖Windows〗zigbee实验之cygwin编译tinyos.jar编译出错的解决方法
- Oracle单实例启动多个实例
- scanf/sscanf %[]格式控制串的用法(转)
- Android学习系列(9)--App列表之分组ListView
- Windows2008R2允许多用户远程登录设置
- OAF_OAF增删改-删除的实现(案例)
- JSON入门之二:org.json的基本使用方法
- nginx php-fpm 输出php错误日志(转)
- mac下安装mysqlcient 报错
- Mybatis(四):MyBatis核心组件介绍原理解析和源码解读