[原创]java WEB学习笔记02:javaWeb开发的目录结构
本博客为原创:综合 尚硅谷(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已经有了很好的自动化的方式。
最新文章
- C# SQL 面试题自我总结
- Xen之初体验:HA(额外附加)
- c# 中int.ToString()的格式化的示例
- 探究JVM——运行时数据区
- Conjugate prior relationships
- 微信公众号开发笔记(C#)
- POJ 1273 Drainage Ditches(网络流dinic算法模板)
- F - The Fun Number System(第二季水)
- Gitlab权限管理-issue管理[六]
- 前端/C# 前后台交互文件上传、下载
- 用video标签流式加载
- InstallShield Limited Edition Project 打包windows服务解析
- FindExecutable:查找与一个指定文件关联在一起的程序的文件名
- Spring Boot Shiro 权限管理 【转】
- Django-website 程序案例系列-13 中间件
- js code
- Ring0 - 链表
- 1129 Recommendation System
- [Baltic2013]ballmachine BZOJ3133
- centos7虚拟机安装出现license information