Tomcat学习笔记--简单了解和Web应用的目录结构以及常见的Web应用时出现404错误

  1. 云栖社区>
  2. 博客>
  3. 正文

Tomcat学习笔记--简单了解和Web应用的目录结构以及常见的Web应用时出现404错误

codingcoge 2018-06-07 11:53:08 浏览1250
展开阅读全文

前言:

Tomcat:
开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但ejb, rmi不支持)

如果是压缩版的话 ,直接解压就可以使用。

打开tomcat:

找到%tomcat%/bin/startup.bat ,双击这个文件
b)弹出窗口,显示信息(不要关闭次窗口)
c)打开浏览器,输出以下地址
http://localhost:8080
d)看到一只猫画面,证明软件启动成功!

关闭tomcat:

a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!
c)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存)

注意:

localhost代表本地
8080 是默认监听端口号

tomcat常见问题:

1)闪退问题

原因:tomcat软件是java语言开发的。 tomcat软件启动时,  
会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。  
这个变量的作用找到tomcat启动所需的jvm。

解决办法:

到环境变量中设置JAVA_HOME的变量
JAVA_HOME= C:\Program Files\Java\jdk(注意别配置到bin目录下)

2)端口占用的错误

原因: tomcat启动所需的端口被其他软件占用了!
            
解决办法: 
a)关闭其他软件程序,释放所需端口
b)修改tomcat软件所需端口
  找到并修改%tomcat%/conf/server.xml文件
<Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

注意:
port是默认端口号 改为其他的就行 只要不冲突

3)CATALINA环境变量问题

原因: tomcat软件启动后,除了查找JAVA_HOME后,  
还会再查找一个叫CATALINA_HOME变量,  
这个变量的作用是设置tomcat的根目录。
如果有两个tomcat那么就有问题了
解决办法:建议不要设置CATALINA_HOME变量。  
检查如果有的话,清除掉!!!

webapps目录: tomcat共享目录。需要共享的本地资源放到此目录中。

URL

URL全名叫统一资源定位符,用于定位互联网的资源。

问题: http://localhost:8081/myweb/test.html 看到文件?

            http://     协议。http协议。
            localhost    域名。为了找到IP地址。
                            本地域名: localhost
                            外部域名:www.baidu.com
            8081       端口。软件监听的
                        8080: tomcat默认的端口
                        3306:mysql数据库的端口
                        1521: orace数据库的端口。
/myweb:   web应用的名称。默认情况下,在webapps目录下找
/test.html  : 资源名称。

题外话:
C:\Windows\System32\drivers\etc\hosts 可以知道localhost对应的电脑ip地址
localhost :
在计算机网络中,localhost(意为“本地主机”,指“这台计算机”)是给回路网络接口(loopback)的一个标准主机名,相对应的IP地址为127.0.0.1(IPv4)

Tomcat的目录结构:

|-bin: 存放tomcat的命令。
            catalina.bat 命令:
                    startup.bat  -> catalina.bat start    
                    shutdown.bat - > catalina.bat stop
|- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
|-logs:运行过程的日志信息
|-temp: 临时目录
|-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
|-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

Web应用的目录结构:

(图片来自网络)
这里写图片描述

|- WebRoot :   web应用的根目录
        |- 静态资源(html+css+js+image+vedio)
        |- WEB-INF : 固定写法。
            |-classes: (可选)固定写法。存放class字节码  
            文件 最好是带有包名    
            |-lib: (可选)固定写法。存放jar包文件。
            |-web.xml    //文件配置信息
  1. WEB-INF目录里面的资源不能通过浏览器直接访问
    但该目录下的内容对于Servlet代码是可见的
  2. 如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。
  3. web.xml:Java web server / servlet container使用,比如告诉容器哪些servlets需要部署,以及URL映射关系
  4. 存放jar,通常存放第三方依赖,或将自己的java代码打成jar放在此,而不是classes下
  5. 说明:① WEB-INF目录下的classes和lib目录都可以存放Java的类文件,在Servlet容器运行时,Web应用程序的类加载器将首先加载classes目录下的,其次才是lib目录下的类。如果这两个目录下存在同名的类,起作用的将是classes目录下的类

再来一张汇总的:来自网络
这里写图片描述

访问Web应用时出现404错误的常见原因

  1. web.xml中的servlet-class配置错误
    a. servlet-class的值不是相对于WEB-INF/classes目录、  
    b. 类名与WEB-INF/classes下的不同
    c. <servlet-class>的值不是类名,而是class
举例:<servlet-class>first.one.first.class</servlet-class>
  1. web.xml中的url-pattern配置错误
       url-pattern属性的值没有以”/”开头

网友评论

登录后评论
0/500
评论
codingcoge
+ 关注