1、Tomcat目录结构
需要关心的目录有:bin:Tomcat的启动停止脚本都在里面;conf:tomcat的配置文件都放在里面;lib:tomcat运行需要的库;logs:运行日志;temp:临时文件夹;webapps:tomcat上加载的web应用都在这里。
bin:启动startup.bat,停止shutdown.bat,实际启动catalina.bat
conf:server.xml tomcat的服务器配置,包括启动端口;tomcat-users.xml:tomcat本地主页上登录manger功能需要的用户名密码的配置
lib:做java web开发时,需要用到jsp-api.jar,servlet-api.jar,这两个是tomcat对jsp和servlet标准的实现
webapps:tomcat上加载web应用都在这里,每个子文件夹代表一个应用
2、webapps目录结构
每个apps的目录下必须有WEB-INF文件夹(必须大写),WEB-INF下必须有classes和lib文件夹,必须有web.xml文件。classes下是该apps运行必须的class文件,lib下是该apps运行必须的jar包,web.xml是该apps的配置
apps用到的html、jsp等文件可以放在classes平级目录,或者新建的其他目录下
3、所以在开发java web的时候,把自己的java文件生成的class文件输出到classes目录下,把用到的第三方库放到lib目录下,应用中的jsp、HTML放到应用目录下
4、在conf-catalina-localhost下新建xxx.xml文件,则访问URL为:http://localhost:8080/xxx/xxx.jsp。根节点:<Context />,属性:path,没什么用;属性:docBase,代表项目的本地路径,我的测试工程路径是E:\project\javaproject\BugManager\src\main\webapp;属性:reloadable,如果是true,则修改jsp、java代码后不需要重启tomcat服务器,就可以热替换
5、假设应用叫myApps,则web应用根目录:http://localhost:8080/myApps/,站点根目录:http://localhost:8080。”/“代表根目录。
6、WEB-INF下的文件不能被直接访问到,比如http://localhost:8080/myApps/WEB-INF/hello.jsp,但是重定向可以访问到,重定向地址/hello.jsp,即重定向时不需要加WEB-INF