JavaWeb应用简介

JavaWeb应用的定义

JavaWeb应用由一组Servlet/JSP,HTML,JAVA类,以及其它可绑定的资源构成,它可以在任何实现Servlet规范的Servlet容器上运行。

从定义中可以看到JavaWeb包含了如下内容:

1 Servlet组件: Servlet接口实现类,包含了可以被服务器调用运行的代码

2 JSP组件: 包含Java程序的HTML文档,但客户端请求一个JSP文档时,它会被先转换成一个Servlet

3 JAVA类: 开发人员定义的与web应用相关的类

4 静态文档: 存放于服务器的文件系统中,如:HMTL

5 客户端类: 由客户端来运行,如Applet

6 web.xml文件:JavaWeb应用的配置文件,该文件必须位于web应用的WEB-INF文件下

JavaWeb应用的目录结构

假定开发一个helloapp的web应用,其目录结构如下:

WEB-INF目录下的classes目录和lib目录都可以存放java类文件,但是classes的优先级大于lib

在Tomcat中发布JavaWeb应用

 1 Tomcat 6.x中的目录结构

Tomcat目录中的lib和WEB-INF中的lib都可以存放jar文件,但二者有区别:

Tomcat目录中lib存放的jar不仅可以被Tomcat访问,还可以被JavaWeb访问,而WEB-INF中lib存放的jar只能被JavaWeb访问

Tomcat 6.x和Tomcat 5.x的不同:

2 Tomcat如何加载类

Tomcat的类加载器负责加载Tomcat本身以及JavaWeb所需的类,假定Tomcat要为avaWeb加载一个Simple类,其加载顺序为:

(1) 到WEB-INF/classes中寻找Simple.class

(2) 到WEB-INF/lib中的jar文件中寻找Simple.class

(3) 到Tomcat中的lib目录中寻找Simple.clsss

(4) 到Tomcat中lib目录中的jar文件中寻找

3 按照默认的方式发布JavaWeb应用

将JavaWeb应用的所有文件复制到Tomcat的<CATALINA_HOME>/webapps目录下,这是发布的最快捷方式。这些web应用会运行在默认的"localhost"虚拟主机上,虚拟主机运行在默认的"Catalina"Engine组件上。

Tomcat既可以运行开放式的web应用目录,也可以运行打包的web应用(.war文件)

4 web组件的URL

无论是开放式的目录,还是打包的情况,web应用默认的URL都是web应用的根目录。比如有一个叫helloapp的web应用,那么URL入口为/helloapp。

对于HTML或者JSP,他们的URL和文件路径之间存在对应关系,如一个login.html的文件路径为helloapp/login.html,那么它的URL为http://localhost:8080/helloapp/login.html.

而对于Servlet,必须在配置文件web.xml中对其映射url

原文地址:https://www.cnblogs.com/chaoguo1234/p/2951070.html