JavaEE入门介绍,HTTP协议介绍,常用状态码及含义,服务器介绍(软件服务器、云服务器)

news2024/11/16 13:33:43

一、JavaEE入门

        JavaEE(Java Enterprise Edition),Java企业版,是一个用于企业级web开发(不需要使用控制台)平台。最早由Sun公司定制并发布,后由Oracle负责维护。

        JavaEE平台规范了在开发企业级web应用中的技术标准。

        在JavaEE平台共包含了13个技术规范(随着JavaEE版本的变化所包含的技术点的数量会有增多)。它们分别是:JDBC、JNDI、EJB、RMI、ServletJSP、XML、JMS、Java IDL、JPA、JTA、JavaMail和JAF。

说明:Servlet2.5及以前是使用web.xml的配置方式,3.0及以后可以使用注解的方式进行配置。

1. JavaEE案例要使用到浏览器、服务器(Tomcat)、数据库。

2. JavaEE案例程序不是通过main方法来运行,而是要放在服务器(Tomcat)来运行。

3. JavaEE案例要使用到Servlet和jsp两个技术,而且多了一个web.xml文件做配置。

4. JavaEE案例是将结果给打印到了浏览器上,而不是控制台上!

5. JavaEE案例可以让更多的人去访问!

二、HTTP协议

        浏览器与服务器之间发送数据的时候,是要有格式的,是双方约定好的格式。这样双方才能认识对方发送的数据!

        ​ 这个格式我们称之为协议(在互联网中主机与主机之间进行访问沟通都需要使用特定的协议)

1.Http介绍

        超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容。

        HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, HTTP是万维网(WWW:World Wide Web)的数据通信的基础。

        HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

        OSI七层网络模型(开放系统网络通信参考模型):

                应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

        HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件, 图片文件, 查询结果等);

2.Http特点

        支持客户端/服务器模式

        简单快速

        灵活(传输的数据类型多样)

        短连接

                短链接是指每次请求响应完成后,连接会自动断开。从http1.1开始,我们使用的是长连接,长连接是每次请求响应完成后,连接会保持一小段的存活时间,供之后的请求使用。长连接要比短连接的效率高

        单向性

                服务端永远是被动的等待客户端(浏览器)的请求。

        无状态

                无状态是指协议对于事务处理没有记忆能力。每次请求都需要重新传递参数。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,用户体验度也不好。

3.Http中URL与URI

3.1URL同一资源定位符

        URL(Uniform Resource Location统一资源定位符),可以帮助我们唯一定位互联网上的某一个资源,相当于是互联网资源的身份证号。URL由五个元素组成:

  1. 传送协议
  2. 域名或者IP地址
  3. 端口号(以数字方式表示,若为HTTP的默认值“:80”可省略)
  4. 请求资源路径
  5. 传递数据(在URL中传递数据是以key=value的结构进行数据绑定,以“?”字符为起点,每个参数以“&”隔开通常以UTF8的URL编码,避开字符冲突的问题)

        举例:http://127.0.0.1:8080/demo1/HelloServlet?name=尚学堂&birthday=1992-05-09

                http:// 是协议

                127.0.0.1是ip地址,也可以是域名

                8080 是端口号

                /demo1/HelloServlet 是请求资源路径,也就是URI

                name=xxx&birthday=1992-05-09 是请求传递的参数

3.2 URI统一资源标识符

        URI:(Uniform Resource Identifier),统一资源标识符,是一个用于标识某一互联网资源名称的字符串。

        URI是一个特别抽象的概念,URL包含了URI

        在Java中,当获取请求URI时,常是/demo1/HelloServlet。

3.3 常用状态码及含义:

        200 - 请求成功,已经正常处理完毕

        301 - 请求永久重定向,转移到其它URL

        302 - 请求临时重定向

        304 - 请求被重定向到客户端本地缓存

        400 - 客户端请求存在语法错误(客户端传递的数据类型不是后端想要的类型)

        401 - 客户端请求没有经过授权

        403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限

        404 - 资源未找到,客户端请求的URL在服务端不存在

        405 – 请求方式不支持

        500 - 服务端出现异常

三、服务器

1.服务器介绍

        1. 硬件服务器的构成与一般的PC比较相似,但是服务器在稳定性、安全性、性能等方面都要求更高,因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。

        2. 软件服务器(英文名称Server),也称伺服器。指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。

2.服务器分类

3. JavaEE应用服务器

        应用服务器是Java EE规范的具体实现, 可以执行/驱动基于JavaEE平台开发的web项目。绝大部分的应用服务器都是付费产品。

​常见的应用服务器:

        ​ 1. Weblogic(BEA Oracle 收费)

        ​ 2. Webshpere(IBM 收费)

        ​ 3. JBoss(RedHad 收费)

        ​ 4. Resin(Caucho 收费)

        ​ 5. JRun(Macromedia 收费)

        ​ 6. Geronimo(Apache 免费)

4. Web服务器

        只实现了JavaEE平台下部分技术标准,如Servlet,Jsp,JNDI,JavaMail。Web容器是开源免费的。

        Tomcat(Apache 开源免费)

        Jetty(Jetty 开源免费)

5.Tomcat配置与使用

5.1下载

下载地址:Apache Tomcat® - Welcome!

Tomcat是一款绿色软件,我们下载压缩包,解压即可使用!

注意:要配置jdk的JAVA_HOME环境变量,否则startup.bat一闪而过

5.2目录结构及配置
5.2.1目录结构介绍

        bin:用来存放Tomcat服务器的可执行程序,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。

        conf:用来存放Tomcat服务器的配置文件

        lib:用来存放Tomcat服务器的jar包

        logs:用来存放Tomcat服务器运行时输出的日志信息

        temp:用来存放Tomcat服务器运行时产生的临时数据

        webapps:用来存放Tomcat服务器部署的工程

        work:是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码和编译后的文件

5.2.2Tomcat启动与关闭

        Tomcat的启动与关闭需要执行bin目录中的命令脚本。

        注意: 如果启动时闪退,是因为JDK的环境变量配置不规范,需要重新配置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发者看亚马逊云科技1024【文末有福利~】

1024,2023年的1024,注定是不平凡的1024,AIGC已经成为了整个年度的主题,亚马逊云科技在这个开发者每年最重要的日子,举办了生成式AI构建者大会,让我们一起再次了解本次生成式AI构建者大会,回顾会…

【c++|opencv】一、基础操作---2.图像信息获取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 图像信息获取&#xff0c;roi 1. 图像信息获取 // 获取图像信息#include <iostream> #include <opencv2/opencv.hpp>using namespace cv; …

浅谈智能卡远程费控电能表的设计与实现

叶根胜 安科瑞电气股份有限公司 上海嘉定201801 摘要:本文分析了国内外远程费用控制电能表的研究现状&#xff0c;并根据功能要求和参数要求设计研究了远程费用控制电能表。采用模块化设计的电能表硬件电路系统&#xff0c;并研究了电能表的功能程序软件&#xff0c;实现了测…

虚拟内存之页面置换算法

内存空间不够&#xff0c;OS将内存中暂时用不到的信息换出到外存。但页面的换入/出需要磁盘I/O&#xff0c;系统开销较大。页面置换算法要更少的缺页率。 一、最佳置换(OPT)-optimal 1.思想 每次选择淘汰以后永不使用、在最长时间内不再被访问的页面&#xff0c;以此保证最低的…

3 tensorflow构建模型详解

上一篇&#xff1a;2 用TensorFlow构建一个简单的神经网络-CSDN博客 1、神经网络概念 接上一篇&#xff0c;用tensorflow写了一个猜测西瓜价格的简单模型&#xff0c;理解代码前先了解下什么是神经网络。 下面是百度AI对神经网络的解释&#xff1a; 神经网络是一种运算模型&…

音视频技术开发周刊 | 317

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 MIT惊人再证大语言模型是世界模型&#xff01;LLM能分清真理和谎言&#xff0c;还能被人类洗脑 MIT等学者的「世界模型」第二弹来了&#xff01;这次&#xff0c;他们证明…

什么是Steam红锁?及红锁的原因

Steam红锁分为两种&#xff0c;一种是商业红&#xff0c;一种是欺诈红。 造成红锁的原因有哪些&#xff1f; 1.非正常玩家&#xff0c;大量囤货&#xff0c;就是你交易饰品的交易量太大了&#xff0c;而且频繁地买进同一个饰品&#xff0c;官方就会判定你是商业行为&#xff0…

批量重命名文件夹:用数字随机重命名法管理您的文件夹

在文件管理中&#xff0c;文件夹的命名是一项至关重要的任务。一个好的文件夹命名方案可以帮助我们更高效地组织和查找文件。然而&#xff0c;随着时间的推移&#xff0c;我们可能会遇到文件夹数量过多&#xff0c;难以管理和查找的问题。为了解决这个问题&#xff0c;我们可以…

ubuntu PX4 vscode stlink debug设置

硬件 stlink holybro debug板 pixhawk4 安装openocd 官方文档&#xff0c;但是第一步安装建议从源码安装&#xff0c;bug少很多 github链接 编译安装&#xff0c;参考 ./bootstrap (when building from the git repository)./configure [options]makesudo make install安装后…

SpringMVC Day 06 : 转发视图

前言 在SpringMVC框架中&#xff0c;视图解析器可以将逻辑视图名称转换为实际的视图对象。除了直接渲染视图&#xff0c;你还可以通过SpringMVC提供的转发和重定向机制来跳转到另一个视图。在本篇博客中&#xff0c;我们将学习SpringMVC中的转发视图技术&#xff0c;以及如何使…

sscanf 函数的使用

一、sscanf 函数介绍 头文件 #include <stdio.h> 原型&#xff1a; int sscanf(const char *str, const char *format, ...); 返回&#xff1a; On success, these functions return the number of input items success‐ fully matched and assigned; this can be few…

钡铼技术ARM工控机在机器人控制领域的应用

ARM工控机是一种基于ARM架构的工业控制计算机&#xff0c;用于在工业自动化领域中进行数据采集、监控、控制和通信等应用。ARM&#xff08;Advanced RISC Machine&#xff09;架构是一种低功耗、高性能的处理器架构&#xff0c;广泛应用于移动设备、嵌入式系统和物联网等领域。…

如何使用内网穿透工具,将Tomcat网页发布到公共互联网上

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

API安全之《大话:API的前世今生》

写在前面&#xff1a;本文结合API使用的业界现状&#xff0c;系统性地阐述API的基本概念、发展历史、表现形式等基础内容&#xff0c;主要包含以下内容&#xff1a; 1.什么是API 2.API的发展历史 3.现代API常用消息格式 4.top N 互联网企业API 使用现状 当前的世界是一个信…

【Go入门】GO流程与函数介绍(代码运行逻辑控制)

流程和函数 这小节我们要介绍Go里面的流程控制以及函数操作。 流程控制 流程控制在编程语言中是最伟大的发明了&#xff0c;因为有了它&#xff0c;你可以通过很简单的流程描述来表达很复杂的逻辑。Go中流程控制分三大类&#xff1a;条件判断&#xff0c;循环控制和无条件跳…

回文链表Java

我们可以采用双指针的办法进行,如下图: 如果链表长度为偶数,则直接从第二个指针的位置开始对链表进行反转;如果是奇数,则从第二指针的下一位进行链表反转 代码实现: public static void main(String[] args) {ListNode next4 new ListNode(1, null);ListNode next3 new Lis…

Jetson Xavier NX FFmpeg支持硬件编解码

最近在用Jetson Xavier NX板子做视频处理&#xff0c;但是CPU进行视频编解码&#xff0c;效率比较地下。 于是便考虑用硬解码来对视频进行处理。 通过jtop查看&#xff0c;发现板子是支持 NVENC硬件编解码的。 1、下载源码 因为需要对ffmpeg进行打补丁修改&#xff0c;因此需…

堆栈与队列算法-以数组来实现堆栈

目录 堆栈与队列算法-以数组来实现堆栈 C代码 扑克牌发牌算法 C代码 堆栈与队列算法-以数组来实现堆栈 以数组结构来实现堆栈的好处是设计的算法都相当简单。不过&#xff0c;如果堆栈本身的大小是变动的&#xff0c;而数组大小只能事先规划和声明好&#xff0c;那么数组规…

Qt QUrl详解

1.QUrl概述 QUrl 是Qt框架中用于处理URL的类&#xff0c;提供了一些方法来解析和构造URL。URL&#xff08;Uniform Resource Locator&#xff09;是用于定位和访问互联网资源的地址。QUrl类可以用于解析URL的各个部分&#xff0c;并提供了一些方法来获取和设置URL的各个部分。…

Android RecyclerView — 实现自动加载更多

在App中&#xff0c;使用列表来显示数据是十分常见的。使用列表来展示数据&#xff0c;最好不要一次加载太多的数据&#xff0c;特别是带图片时&#xff0c;页面渲染的时间会变长&#xff0c;常见的做法是进行分页加载。本文介绍一种无感实现自动加载更多的实现方式。 实现自动…