本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用

内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。

本人互联网技术爱好者,互联网技术发烧友

微博:伊直都在0221

QQ:951226918

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.WEB程序结构

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

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

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

4)一个例子:servlet规范定义的 web应用程序的目录层次

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

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

5)tomcat中的相关规定:http://localhost:8080/docs/appdev/deployment.html

2.关于配置任意目录下的Web应用程序

  · 在Web服务器中可以配置虚拟目录,而虚拟目录所对应的真实目录可以在任何路径下;

  · 在Tomcat服务器中,主要在 XML 配置文件中通过<Context>元素的设置来完成的。一个<Context>元素就表示一个Web应用程序,运行在特定的虚拟主机中;

   · <Context>元素是<Host>元素的子元素,可以在conf\server.xml文件中设置Context元素

  

1)方式一:<Context>元素是<Host>元素的子元素,可以在conf\server.xml文件中设置Context元素

使用docBase属性指定Web应用程序的真实路径。将属性reloadable设置为true,Tomcat在运行时会自动监测Servlet类的改动,如果发现有类被更新,Tomcat服务器将自动重新加载该Web应用程序。这样,在开发时,就不需要频繁重启Tomcat了

2)方式二:在$TOMCAT/conf目录下依次创建Catalina\localhost目录,然后在localhost目录下为 自己的应用创建一个 应用名称.xml(对应的应用的xml描述文件,例如 test.xml)编辑这个文件输入以下内容

 <Context path="/test" docBase="c:/test" reloadable="true" />

从Tomcat 5.5开始,在\conf\Catalina\localhost目录下创建XML配置文件来配置Web应用程序,Tomcat将以XML文件的文件名将作为Web应用程序的上下文路径,而不理会在<Context>元素的path属性中指定的上下文路径是什么。由于Tomcat 5.5之后的版本是以XML配置文件的文件名作为Web应用程序的上下文路径的,因此在配置<Context>元素时,可以不使用path属性

3.最后说两句

1)对于web的目录结构一定有所了解,对于开发而言,一般的目录是很多的且繁杂。熟悉了目录结构就可以方便的定位代码故障

2)了解tomcat的 webapp 和 work目录

3)本篇博客是对于java web项目的一个基础的了解学习,在开发中eclipes已经有了很好的自动化的方式。

最新文章

  1. C# SQL 面试题自我总结
  2. Xen之初体验:HA(额外附加)
  3. c# 中int.ToString()的格式化的示例
  4. 探究JVM——运行时数据区
  5. Conjugate prior relationships
  6. 微信公众号开发笔记(C#)
  7. POJ 1273 Drainage Ditches(网络流dinic算法模板)
  8. F - The Fun Number System(第二季水)
  9. Gitlab权限管理-issue管理[六]
  10. 前端/C# 前后台交互文件上传、下载
  11. 用video标签流式加载
  12. InstallShield Limited Edition Project 打包windows服务解析
  13. FindExecutable:查找与一个指定文件关联在一起的程序的文件名
  14. Spring Boot Shiro 权限管理 【转】
  15. Django-website 程序案例系列-13 中间件
  16. js code
  17. Ring0 - 链表
  18. 1129 Recommendation System
  19. [Baltic2013]ballmachine BZOJ3133
  20. centos7虚拟机安装出现license information

热门文章

  1. Gradle学习小结
  2. sql server内置函数
  3. Ubuntu16.04 打开txt文件乱码
  4. ListView滚动到底部判断
  5. 我佩服-WPF(2)
  6. Android备份和添加短信
  7. hdu1535——Invitation Cards
  8. Teradata架构
  9. JavaWeb知识点总结一
  10. SVN版本号控制软件-图片含义具体解释