JavaWeb(三)第一个 WEB 应用程序

1、Web程序结构

一个 web 应用程序是由一组 Servlet,HTML 页面,类,以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在。

组成 web 应用程序的这些文件要部署在相应的目录层次中,根目录代表整个 web 应用程序的”根”。

通常将 web 应用程序的目录放在 webapps 目录下,在 webapps 目录下的每一个子目录都是一个独立的 web 应用程序,子目录的名字就是 web 应用程序的名字,也就是 web 应用程序的“根”。用户通过 web 应用程序的”根”来访问 web 应用程序中的资源。

Servlet 规范中定义了 web 应用程序的目录层次

2、使用Eclipse开发动态的WEB工程

1). 把开发选项切换到JavaEE;

2). 可以在 Window -> Show View 中找到 Package Explorer, 并把其拖拽到开发区的左边;

3). 在 Servers 面板中新建Tomcat 服务器. 一定要关联到Tomcat 安装的根目录;

4). 新建一个Dynamic Web Project. 其中 Target Runtime需选择Tomcat6.0 ;

5). 开发 Java WEB 应用;

6). 可以通过 run on server 来运行 WEB 项目。

JavaWeb01:Web应用程序的根目录,属于此Web应用程序的所有文件都存放在这个目录下;

WEB-INF:存放Web应用程序的部署描述符文件web.xml;

classes:存放Servlet和其他有用的类文件;(默认的编译输出地址,查看下图)

lib:存放Web应用程序需要用到的JAR文件,这些JAR文件中可以包含Servlet、Bean和其他有用的类文件;

web.xml:该文件包含Web应用程序的配置和部署信息。

3、几点说明

(1)WEB-INF目录下的classes和lib目录都可以存放Java的类文件,在Servlet容器运行时,Web应用程序的类加载器将首先加载classes目录下的,其次才是lib目录下的类。如果这两个目录下存在同名的类,起作用的将是classes目录下的类。

(2)WEB-INF 是一个特殊的目录(所有字母都要大写)。这个目录并不属于Web应用程序可以访问的上下文路径的一部分,对客户端来说,这个目录是不可见的。但该目录下的内容对于Servlet代码是可见的。

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2018-05-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

forever让nodejs应用后台执行

nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人。如何让nodejs应用当成服务,在后台执行呢? 最简单的办法: $ nohu...

3976
来自专栏阿炬.NET

在线生成二维码的API接口

2562
来自专栏一“技”之长

Git命令集之十——文件移动命令 原

    删除某个文件。这个命令会将文件直接删除,并将此操作更新到缓存区,直接进行commit提交即可。

981
来自专栏程序员同行者

gitlab备份及迁移

1521
来自专栏云计算教程系列

如何在Debian 8上安装Django Web框架

Django是一个功能齐全的Python Web框架,用于开发动态网站和应用程序。使用Django,您可以快速创建Python Web应用程序,并依靠该框架来完...

1702
来自专栏增长技术

Android Studio查看Android源码

打开Android Studio,点击File>Open,选择刚刚生成的android.ipr就好了

3772
来自专栏IT综合技术分享

在ubuntu16.10上开启docker 17.03.0-ce的http远程访问

$ sudo dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &

7402
来自专栏Angular&服务

ionic2 编译打包的坑,

Could not find an installed version of Gradle either in Android Studio, or on y...

1103
来自专栏calvin

privoxy自动请求转发到多个网络

主配置文件 /etc/privoxy/config 增加一条配置: actionsfile usr.proxy 例如:

3182
来自专栏运维小白

mysql初始化后,找不到pid无法正常启动

背景: centos7.0版本,安装的是mysql5.6版本 问题: 在安装好mysql,并设置开机启动,但是在关机重启后,会发现Mysql服务无法启动 [...

4466

扫码关注云+社区

领取腾讯云代金券