jsp-web开发-目录结构
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打包时自动生成
一般的JSP目录结构如下:
\project --项目根目录
|_WEB-INF --配置JAVA文件的目录
| |_ classes --编译后的class (在eclipse3.3 中自动生成的只有lib,用来存放已经编译好的.class文件)
| |_ lib --引用的lib
| |_ src --源文件路径
| |_com.myjava.test1 --JAVA Package
| |_test.java --JAVA文件
| |_com.myjava.test2 --JAVA Package
| |_test.java --JAVA文件
| ......
|_HTML --html,js,css等文件的目录名称根据需要)
|_JSP --jsp文件的目录(名称根据需要)
|_index.jsp
|_其他需要的.jsp,.htm,...文件
上面提到编译好的class文件(servlet以及javabeans)存放在lib文件夹下,其次根据classpsth的设置原理(jvm根据classpath的设置值找到要执行的类文件)同样可以把这
些编译好的.class文件放到相应的目录当中。但这样移植及管理将会不方便。
还要回到web项目的部属这个问题上来,当我们新建一个工程的时候,会相应的建立几个文件夹,(上文已经提到如jre,库文件,src文件夹等)但是webroot是最重要的一个,他也就
是我们要部署的工程,可以直接拷贝到tomcat服务器webapps/root下,如果你想不放在ROOT目录,那就需要在webapps下再建个目录,然后在本目录下建立web-inf目录,并建立
web.xml文件。web-inf应该是servlet的规定,不要问为什么,就是这么规定的,所以的java的web应用都需要这么做.
但是,通常我们的做法是建立虚拟目录:tomcat/conf/srver.xml中的<host></host>之间新建<context></context>,其中的docbase=.../工程目录/webroot,这样打开tomcat服
务器时,ie 地址输入http://localhost:8080/工程名/.../index.jsp显示页面内容.
ASP.Net应用程序的目录结构
每个Web应用程序都要规划自己的目录结构,除了自己设计的目录结构意外,ASP.Net也定义一些有特殊意义的目录。
1.Bin:这个目录包含了所有的预编译的ASP.NET的Web应用程序使用的.Net程序集(通常是DLLs),这些程序集也包括预编译的网页类,以及被这些类所引用的其他的程序集。
2.App_Code:这个目录中包含了应用程序中被动态预编译的源代码文件,这些代码文件通常是独立的组件,例如日记组件或数据访问类库。这些被编译的代码没有出现在Bin目
录中,ASP.Net把它放在动态编译时使用的临时目录中。(如果在Visual Studio中使用工程模式开发Web应用程序,而不是一般的网站模式,就不需要使用这个目录,工程中的所有
代码文件连同网页一起会自动的被编译到Web应用程序的程序集中。)
3.App_GlobalResources:这个目录中保存Web应用程序中每个网页都可以访问的全局资源。
4.App_LocalResources:这个目录中保存的资源除了只允许它们所服务的网页访问以外,其他的作用跟App_GlobalResources目录一样。
5.App_WebReferences:这个目录保存着Web应用程序使用的Web Services的引用,包括WSDL文件和WebServices的discovery文档。
6.App_Data:这个目录是给数据存储保留的,包括SQL Server 2005 Express的数据库文件和XML文件。当然也可以自由在其他的目录中保存数据文件。
7.App_Browsers:这个目录中包含了保存在XML文件中的浏览器的定义。这些XML文件定义了客户端浏览器的不同的渲染行为。虽然ASP.NET是在全局范围内使用它,但是
App_Browsers允许给独立的Web应用程序配置这种行为。
8.App_Themes:这个目录保存了Web应用程序使用的一些项目。