javaWeb

JAVA EE

1.目录结构

1.1 maven目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
${basedir}
src
main
java 源文件
resources 资源文件
filters 资源过滤文件
config 配置文件
scripts 脚本文件
webapp web应用文件,/WEB-INF
test
java 测试源文件
resources 测试资源文件
filters 测试资源过滤文件
it 集成测试
assembly 组件(Assembly)描述符所在的目录
site 站点文件
target
generated-sources
classes /resources目录下的也在此
generated-test-sources
test-classes
xxx.jar
+ project-1.0
| + META-INF
| + WEB-INF
| | + classes
| | * web.xml
| * index.jsp
+ maven-archiver
* pom.properties
+ war
+ work
| | * webapp-cache.xml
* project.war
pom.xml
LICENSE.txt
NOTICE.txt 该项目依赖的库的注意事项
README.txt

构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

src/main/java和src/test/java

这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。

src/main/resouces和src/test/resources

这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。

target/classes

打包插件默认会把这个目录中的所有内容打入到jar包或者war包中。

以上参见maven资源文件的相关配置

1.2 tomcat的目录

1
2
3
4
5
6
7
bin:存放各种不同平台开启与关闭Tomcat的脚本文件。
lib:存tomcat与web应用的Jar包
conf:存放tomcat的配置文件
webapps:web应用的发布目录
work:tomcat把由各种jsp生成的servlet文件存放的地方
logs:tomcat存放日志文件的地方
temp:tomcat存放临时文件的地方

1.3 web的目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
—war/
+ META-INF/
+ WEB-INF/
| + classes/
| | + ServletA.class
| | + config.properties
| | + ...
| + lib/
| | + XXX.jar
| + web.xml
+ img/
+ css/
+ js/
+ index.html
+ sample.jsp

在Eclipse中开发j2ee项目,所有的jsp文件都是放在WebRoot目录下面,用户需要把所有用到的jar包放到WEB-INF(WebRoot的子目录)目录下的lib目录下(这就是没有用maven管理的缺点,所有jar都要自己去找);Eclipse编译时,会把Java源代码产生的class文件放到WEB-INF目录的classes目录下。所以大家在应用服务器中指定虚拟目录时,直接指定到这个WebRoot目录就行了,这样在调试过程中,如果只修改了jsp文件,则不需要重启服务器,刷新页面,就可以看到修改后的效果。

参见更改maven打包文件的默认输出

2.部署问题

在Eclipse中,默认会把Web项目放到Eclipse的工作空间下的.metadata.plugins\org.eclipse.wst.server.core\tmp0(或者是tmp1)\wtpwebapps\下。可以在项目的部署那修改server Location,则会部署到tomcat的webapps目录下,这样就不需要启动eclipse,直接去访问tomcat目录的web项目了。当然如果是maven项目,则直接把war包拷贝到tomcat的发布目录下就可。

2.1 Tomcat部署Web应用方法总结

在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。

2.1.1 静态部署

1.利用Tomcat自动部署

将PetWeb目录拷贝到$CATALINA_HOME/webapps下,然后启动服务器就可以了,Tomcat启动时将自动加载应用。

2.修改Server.xml文件部署

3.增加自定义web部署文件

4.Web应用以.war文件的形式部署

2.1.2 动态部署

动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件。

详细参见 Tomcat部署Web应用方法总结

创建SSM项目