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

简介:

前言:

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属性的值没有以”/”开头
目录
相关文章
|
7天前
|
前端开发 Java 测试技术
Java一分钟之Spring MVC:构建Web应用
【5月更文挑战第15天】Spring MVC是Spring框架的Web应用模块,基于MVC模式实现业务、数据和UI解耦。常见问题包括:配置DispatcherServlet、Controller映射错误、视图解析未设置、Model数据传递遗漏、异常处理未配置、依赖注入缺失和忽视单元测试。解决这些问题可提升代码质量和应用性能。注意配置`web.xml`、`@RequestMapping`、`ViewResolver`、`Model`、`@ExceptionHandler`、`@Autowired`,并编写测试用例。
296 3
|
7天前
|
Java 应用服务中间件 测试技术
深入探索Spring Boot Web应用源码及实战应用
【5月更文挑战第11天】本文将详细解析Spring Boot Web应用的源码架构,并通过一个实际案例,展示如何构建一个基于Spring Boot的Web应用。本文旨在帮助读者更好地理解Spring Boot的内部工作机制,以及如何利用这些机制优化自己的Web应用开发。
33 3
|
2天前
|
前端开发 数据库 开发者
探索现代Web应用的性能优化策略
【5月更文挑战第20天】 在当今的网络环境中,用户对Web应用的性能要求日益增长。一个高性能的Web应用能够带来更好的用户体验,提高转化率和用户留存率。本文将深入探讨现代Web应用性能优化的关键策略,包括前端优化技巧、后端性能提升以及数据库查询优化等方面。通过实践案例和性能测试数据,我们揭示了这些策略对于提升Web应用性能的实际效果,为开发者提供了一套全面的性能优化工具箱。
|
2天前
|
缓存 API 数据库
构建高效Python Web应用:Flask框架与RESTful API设计原则
【5月更文挑战第20天】 在现代Web开发中,构建一个轻量级且高效的后端服务至关重要。本文将深入探讨如何使用Python的Flask框架结合RESTful API设计原则来创建可扩展和易于维护的Web应用程序。我们将通过分析Flask的核心特性,以及如何利用它来实现资源的合理划分、接口的版本控制和请求处理优化等,来指导读者打造高性能的API服务。文中不仅提供了理论指导,还包括了实践案例,旨在帮助开发者提升开发效率,并增强应用的稳定性和用户体验。
|
2天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术演进
本文探讨了从前端到后端的技术演进,介绍了前端、后端以及多种编程语言,如Java、Python、C、PHP和Go,以及数据库在构建现代化Web应用中的应用。通过深入剖析各个技术领域的发展和应用,读者将对构建高效、可扩展、安全的Web应用有更深入的理解。
|
4天前
|
缓存 监控 安全
Django框架在大型Web应用中的架构设计与实战
【5月更文挑战第18天】Django框架在构建大型Web应用中扮演重要角色,采用分层架构(数据、业务逻辑、表示层)和多应用组织模式,结合缓存策略(如Memcached、Redis)提升性能。通过异步处理、分布式部署提高响应速度和扩展性。关注数据分区、安全设计及监控日志,确保系统高效、稳定。Django为复杂业务提供坚实基础,助力打造卓越Web系统。
28 7
|
4天前
|
开发框架 中间件 数据库
Django 框架入门全攻略:轻松构建 Web 应用
【5月更文挑战第18天】本文是 Django 入门教程,介绍了如何使用 Django 构建 Web 应用。内容包括安装、项目与应用创建、模型定义、数据库迁移、视图编写、路由配置、模板系统、表单处理和中间件的使用。通过实例展示了 Django 基本流程,帮助初学者快速上手。Django 提供高效工具,便于开发者聚焦业务逻辑,轻松构建功能丰富的 Web 应用。
28 5
|
4天前
|
存储 缓存 API
Flask 框架在大型 Web 应用中的使用与挑战
【5月更文挑战第18天】Flask框架适用于快速开发轻量级Web应用,但用于大型应用时需应对性能、代码管理和团队协作的挑战。通过集成扩展处理复杂需求,使用蓝图组织代码,以及引入缓存优化性能,结合明确的代码规范和开发流程,可有效应对挑战,构建高效稳定的应用。
28 5
|
4天前
|
数据库连接 Python
Flask 框架入门与实践:构建你的第一个 Web 应用
【5月更文挑战第18天】本文介绍了使用 Flask 框架构建第一个 Web 应用的步骤。首先通过 `pip install Flask` 安装框架,然后编写基本的 Python 代码创建应用,包括定义路由和响应。示例展示如何显示 &quot;Hello, World!&quot;,并扩展到显示用户信息的功能。利用模板(如 `index.html`)可使页面更丰富。随着学习深入,可以利用 Flask 的更多特性,如表单处理和数据库连接,来构建更复杂的 Web 应用。本文旨在激发读者对 Flask 和 Web 开发的兴趣,鼓励不断探索和实践。
36 7
|
5天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术实践
本文将介绍如何通过前端和后端技术相结合,构建现代化Web应用的技术实践。我们将探讨前端开发、后端架构以及多种编程语言(如Java、Python、C、PHP、Go)在构建高效、可扩展的Web应用中的应用。