【总结】Javaweb和Java项目的比较

 🎄欢迎来到@边境矢梦°的csdn博文🎄

 🎄本文主要梳理Javaweb中的关键点和需要注意的地方🎄


🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈
🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆

Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕   

在这里插入图片描述

目录

🌕一. JavaWeb项目和Java项目的区别

🌔二. Javaweb程序中的out目录

🌔三. JAVAWEB项目中的web目录

🌔四. 浏览器访问的是JavaWeb的那个目录

🌕五. Java项目和Javaweb项目执行时的不同



 

 一. JavaWeb项目和Java项目的区别

  

 


二. Javaweb程序中的out目录

out:该目录是编译输出目录,用于存放编译生成的字节码文件(.class文件)。out目录在项目中默认隐藏,可以在IDEA的项目设置中查看和修改编译输出路径。


三. JAVAWEB项目中的web目录

( 该图与下面解释相对应 )

webapp:这是一个重要的目录,用于存放Web应用程序的相关资源和文件。这些资源和文件能够被Web容器解析和处理,用于构建Web页面和提供Web服务。在webapp目录下,可以包含以下子目录和文件:

  • WEB-INF目录:该目录包含Web应用程序的配置文件和受保护的资源。常见的文件和目录有:
    • web.xml:Web应用程序的部署描述符,包含了Servlet、Filter、Listener等的配置信息。
    • lib目录:用于存放Web应用程序所需的依赖库(JAR文件)。
    • classes目录:编译输出目录,用于存放编译生成的字节码文件(.class文件)。
  • 静态资源:例如HTML文件、CSS样式表、JavaScript脚本、图片等等。


四. 浏览器访问的是JavaWeb的那个目录

在Javaweb项目中,浏览器直接访问的是项目的Web根目录,通常是指位于web目录下的资源。

当你在浏览器中输入Javaweb应用程序的URL时,实际上是在请求Web服务器提供的Web应用程序资源。Web服务器会根据URL映射规则来确定具体的资源位置。

对于典型的Javaweb项目,默认情况下,Web服务器会将URL映射到web目录下的资源。例如,如果你的Javaweb项目中有一个名为index.html的文件,位于web目录下,那么你可以通过在浏览器中输入http://localhost:8080/项目名/index.html来访问它。

需要注意的是,URL的路径部分可以包含多级目录。例如,如果index.html位于web目录下的static子目录中,那么URL可能是http://localhost:8080/项目名/static/index.html

在配置Javaweb项目部署时,也可以通过修改Web服务器的配置来修改URL映射规则,将URL映射到不同的路径或其他目录。这些配置将会因使用的Web服务器而有所不同,例如Tomcat、Jetty等。

总结起来,Javaweb项目在浏览器访问时,实际上是访问项目中Web根目录下的资源,通常是指位于web目录下的文件和文件夹。

所以, Javaweb在执行的时候, 浏览器访问的是web文件, 如果web文件需要class文件或者其他在src里面的文件的的时候, 就回去out里面去找, 找到了运行并返回响应


五. Java项目和Javaweb项目执行时的不同

Java项目和JavaWeb项目在执行时有以下几点不同之处:

  1. 运行环境:Java项目可以直接在Java虚拟机(JVM)上执行,而JavaWeb项目则需要在Web容器(如Tomcat、Jetty、WebLogic等)中运行。Web容器提供了对Servlet和JSP等Web组件的支持,并提供了处理HTTP请求和响应的能力。

  2. 启动方式:Java项目通常以单独的Java应用程序形式启动,通过执行main()方法来启动主程序。而JavaWeb项目则由Web容器负责启动,通过部署Web应用程序到Web容器中并启动Web容器来运行项目。

  3. 程序入口:Java项目的入口点是一个特定的类中的main()方法,该方法可以接收命令行参数并执行特定的操作。而JavaWeb项目的入口是Servlet容器,当接收到HTTP请求时,会根据配置的请求映射(例如web.xml或基于注解)来派发请求给相应的Servlet进行处理。

  4. 请求处理:Java项目通常使用控制台或其他方式与用户进行交互,而JavaWeb项目主要是通过HTTP请求与浏览器或其他客户端进行交互。JavaWeb项目中的Servlet负责处理请求、生成响应,以及与数据库、其他服务或组件进行交互。

  5. 依赖管理:Java项目通常使用构建工具(如Maven、Gradle)来管理项目依赖,通过在构建配置文件中定义依赖项,并从公共仓库获取所需的库。而JavaWeb项目也可以使用构建工具管理依赖,但通常还依赖于Web容器提供的一些特定的库和框架,如Servlet API、JSP API等。

Java项目和JavaWeb项目并非互斥的概念,JavaWeb项目可以包含Java项目的部分或全部,同时还包括了用于构建Web应用程序的特定组件和配置。因此,JavaWeb项目可以看作是一个以Java项目为基础,并在此基础上构建出的具有Web特性的应用程序。

 可参考博主其他文章里的总结进行巩固 : 

 【JavaWeb】知识总结Ⅶ(Servlet)_边境矢梦°的博客-CSDN博客

【JavaWeb】知识总结Ⅵ(Tomcat)_边境矢梦°的博客-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/63764.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【iOS】autoreleasepool

来说一下最近在了解的autoreleasepool吧&#xff0c;我们可能平时书写过许多脑残代码&#xff0c;其有很多的缺陷但是我们可能当时学的比较浅就也不太了解&#xff0c;就像下面这样的&#xff1a; for (int i 0; i < 1000000; i) {NSNumber *num [NSNumber numberWithInt…

C语言 ——指针数组与数组指针

目录 一、二维数组 二、指针数组 &#xff08;1&#xff09;概念 &#xff08;2&#xff09;书写方式 &#xff08;3&#xff09;指针数组模拟二维数组 三、数组指针 &#xff08;1&#xff09;概念 &#xff08;2&#xff09;使用数组指针打印一维数组 &#xff08;3&a…

搭建 Python 环境 | Python、PyCharm

计算机 计算机能完成的工作&#xff1a; 算术运算逻辑判断数据存储网络通信…更多的更复杂的任务 以下这些都可以称为 “计算机”&#xff1a; 一台计算机主要由以下这几个重要的组件构成 CPU 中央处理器&#xff1a;大脑&#xff0c;算术运算&#xff0c;逻辑判断 存储器&…

用PointNet分类3D点云

在本教程中&#xff0c;我们将学习如何训练PointNet进行分类。 我们将主要关注数据和训练过程&#xff1b; 展示如何从头开始编码 Point Net 的教程位于此处。 本教程的代码位于这个Github库中&#xff0c;我们将使用的笔记本位于这个Github库中。 一些代码的灵感来自于这个Git…

MyBatis操作数据库常用用法总结1

文章目录 1.单表查询1.1返回所有的表记录1.2根据id查找结果1.3根据名字查找结果 2.单表修改2.1修改密码 3.单表删除3.1根据id删除信息 4.单表增加&#xff08;根据业务情况返回&#xff09;4.1添加返回影响的行数4.2添加返回影响行数和id 5.多表查询&#xff08;多&#xff09;…

[考研机试] KY20 完数VS盈数 清华大学复试上机题 C++实现

描述 一个数如果恰好等于它的各因子(该数本身除外)子和&#xff0c;如&#xff1a;6321。则称其为“完数”&#xff1b;若因子之和大于该数&#xff0c;则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述&#xff1a; 题目没有任何输入。 输出描述&#…

CAS服务端入门使用实践

CAS服务端入门使用实践 一、前言 1.简介 CAS 是一个企业多语言单点登录解决方案&#xff0c;支持大量附加身份验证协议和功能&#xff0c;满足身份验证和授权需求的综合平台。 2.环境 Windows 10JDK 1.8git version 2.41.0.windows.3Tomcat 9.0.78Maven 3.5.3cas-overlay-…

ArcGIS在洪水灾害普查、风险评估及淹没制图中应用教程

详情点击链接&#xff1a;ArcGIS在洪水灾害普查、风险评估及淹没制图中应用教程 一&#xff1a;洪水普查技术规范 1.1 全国水旱灾害风险普查实施方案 1.2 洪水风险区划及防治区划编制技术要求 1.3 山丘区中小河流洪水淹没图编制技术要求 二&#xff1a;ArcGIS及数据管理 …

Java集合知识回顾:从分类到工具类,掌握精髓

文章目录 1. 集合的分类2. Collection 接口3. Map 接口4. 泛型5. Collections 工具类总结 在Java编程世界中&#xff0c;集合是一项极为重要的知识&#xff0c;为我们的程序设计提供了强大的数据结构和处理手段。在本篇文章中&#xff0c;我们将回顾集合的分类以及相关的重要概…

74HC595驱动7x11点阵屏(LED-7X11-JHM)DEMO

起因 由于我之前做了一个点阵时钟 &#xff0c;但是无奈LED点阵屏价格比较贵&#xff0c;所以想找一个价格较为便宜的点阵来做便宜一点的点阵方案&#xff0c;再淘宝上看到有那种五毛钱一个的7x11的LED点阵&#xff0c;所以就想着试试搞一下这种点阵屏&#xff0c;这个由于是7…

阻塞队列的安全实现,定时器的安全实现(面试易考),超详细

一、&#x1f49b; 如何实现一个线程安全的阻塞队列 目前&#xff0c;当前代码是循环队列&#xff08;还没有进行改动&#xff09; head和tail的判空判断满两种方法: 1.浪费一个格子&#xff0c;当前走到head的前一个位置&#xff0c;就认为队列满的 2.单独搞一个变量&#xff…

机器学习基础之《特征工程(4)—特征降维》

一、什么是特征降维 降维是指在某些限定条件下&#xff0c;降低随机变量&#xff08;特征&#xff09;个数&#xff0c;得到一组“不相关”主变量的过程 1、降维 降低维度 ndarry 维数&#xff1a;嵌套的层数 0维&#xff1a;标量&#xff0c;具体的数0 1 2 3... …