JavaEE入门介绍,HTTP协议介绍,常用状态码及含义,服务器介绍(软件服务器、云服务器)
一、JavaEE入门
JavaEE(Java Enterprise Edition),Java企业版,是一个用于企业级web开发(不需要使用控制台)平台。最早由Sun公司定制并发布,后由Oracle负责维护。
JavaEE平台规范了在开发企业级web应用中的技术标准。
在JavaEE平台共包含了13个技术规范(随着JavaEE版本的变化所包含的技术点的数量会有增多)。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、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由五个元素组成:
- 传送协议
- 域名或者IP地址
- 端口号(以数字方式表示,若为HTTP的默认值“:80”可省略)
- 请求资源路径
- 传递数据(在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的环境变量配置不规范,需要重新配置。
相关文章:
JavaEE入门介绍,HTTP协议介绍,常用状态码及含义,服务器介绍(软件服务器、云服务器)
一、JavaEE入门 JavaEE(Java Enterprise Edition),Java企业版,是一个用于企业级web开发(不需要使用控制台)平台。最早由Sun公司定制并发布,后由Oracle负责维护。 JavaEE平台规范了在开发企业级w…...
FPGA时序分析与约束(7)——通过Tcl扩展SDC
一、概述 术语“Synopsys公司设计约束”(又名SDC,Synopsys Design Constraints)用于描述对时序、功率和面积的设计要求,是EDA工具中用于综合、STA和布局布线最常用的格式。本文介绍时序约束的历史概要和SDC的描述。 二、时序约束…...
C++面试——多线程详解
C11提供了语言层面上的多线程,包含在头文件<thread>中。它解决了跨平台的问题,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。C11 新标准中引入了5个头文件来支持多线程编程,如下图所示: 多进程与多线程 多…...
matlab 布尔莎七参数坐标转换模型
目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫自重,把自己当个人。 一、算法原理 算法原理与实现代码已在免费文章:布尔莎七参数坐标转换模型一文中给出,不想看付费文章直接跳转即可。 二、代码实现 clc; clear; close all; %% --...
Android---StartActivity启动过程
在手机桌面应用中点击某一个 icon 之后,最终是通过 startActivity 去打开某一个 Activity 页面。我们知道,Android 中的一个 APP 就相当于一个进程。所以,startActivity 操作中还需要判断,目标 Activity 的进程是否已经创建。如果…...
隐私计算python实现Paillier同态加密
1.基本概念 Paillier同态加密是一种公钥加密方案,具有同态加密的特性。它由Pascal Paillier于1999年提出。 Paillier同态加密基于数论问题,其安全性基于大整数分解问题和离散对数问题的困难性。该方案可以用于保护隐私数据,同时支持在加密状态…...
代码随想录打卡第五十五天|● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组
300.最长递增子序列 **题目:**给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0…...
C# 创建Oceanbase ODBC数据源 DSN
需要管理员权限打开VS,因为只有管理员权限可以修改注册表 using Microsoft.Win32; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Diagnostics; using System.Drawing;…...
C++ 常用函数汇总#include<algorithm>(3万字总结)
文章目录 1. 排序(Sorting)1.1 sort(first, last):对指定范围内的元素进行升序排序1.2 stable_sort(first, last):在保持相等元素的相对顺序的情况下对指定范围内的元素进行排序1.3 partial_sort(first, middle, last):对范围内的元素进行部分排序,使得前部分是最小的,但…...
Google Archive Patch 基础应用代码记录
项目地址 Google Archive Patch 前置 <!-- 差量应用模块 --> <dependency><groupId>com.google.archivepatcher</groupId><artifactId>archive-patch-applier</artifactId><version>1.0.4</version><scope>test</…...
机器学习——代价敏感错误率与代价曲线
文章目录 代价敏感错误率实现代价曲线例子 代价敏感错误率 指在分类问题中,不同类别的错误分类所造成的代价不同。在某些应用场景下,不同类别的错误分类可能会产生不同的代价。例如,在医学诊断中,将疾病患者错误地分类为健康人可…...
如何利用 ChatGPT 提升编程技能
目录 前言代码命名与 ChatGPT设计模式与 ChatGPT代码重构与 ChatGPT代码优化与 ChatGPTChatGPT 的潜在挑战与限制成功案例分析最佳实践与注意事项结语 前言 编程是一项充满创造性和挑战的任务,但也是一个需要花费大量时间和精力的领域。在日益复杂的软件开发环境中…...
ChatGPT:@EqualsAndHashCode(callSuper = false)是什么意思
ChatGPT:EqualsAndHashCode(callSuper false)是什么意思 EqualsAndHashCode(callSuper false)是什么意思? ChatGPT: EqualsAndHashCode(callSuper false) 是 Java 中的 Lombok 注解,用于自动生成 equals() 和 hashCode() 方法…...
docker部署的mariadb忘记密码
docker 里的 mariadb 数据库密码忘了,如果以前我会选择直接干掉重装,但是数据怎么办? 1 数据量小 就跳过密码登录进去备份出来 2 想办法改掉密码 我直接选择后者,跳过密码,mariadb10.4以后不能直接改密码了ÿ…...
一体化模型图像去雨+图像去噪+图像去模糊(图像处理-图像复原-代码+部署运行教程)
本文主要讲述了一体化模型进行去噪、去雨、去模糊,也就是说,一个模型就可以完成上述三个任务。实现了良好的图像复原功能! 先来看一下美女复原.jpg 具体的: 在图像恢复任务中,需要在恢复图像的过程中保持空间细节…...
[java/力扣110]平衡二叉树——优化前后的两种方法
分析 根据平衡二叉树的定义,只需要满足:1、根节点两个子树的高度差不超过1;2、左右子树都为平衡二叉树 代码 public class BalancedBinaryTree {public class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(){}TreeNode(int va…...
吉他、班卓琴和贝斯吉他降分器:Arobas Music Guitar 8.1.1
Arobas Music Guitar 是一款专业的吉他、班卓琴和贝斯吉他降分器。在熟练的手中,它不仅可以让您创作,还可以编辑、聆听和录制,以及导入和导出乐谱。如果有人感兴趣的话,录音是在八个轨道上进行的,你可以为每个轨道单独…...
cocos tilemap的setTileGIDAt方法不实时更新
需要取消勾选 Enable Culling。同时代码添加:markForUpdateRenderData函数。 floor.setTileGIDAt(102427,newP.x,newP.y,0); //中心 floor.markForUpdateRenderData(); 具体问题参考官网说明: Cocos Creator 3.2 手册 - 项目设置...
机器学习---使用 TensorFlow 构建神经网络模型预测波士顿房价和鸢尾花数据集分类
1. 预测波士顿房价 1.1 导包 from __future__ import absolute_import from __future__ import division from __future__ import print_functionimport itertoolsimport pandas as pd import tensorflow as tftf.logging.set_verbosity(tf.logging.INFO) 最后一行设置了Ten…...
铁合金电炉功率因数补偿装置设计
摘要 由于国内人民生活水平的提高,科技不断地进步,控制不断地完善,从而促使功率因数补偿装置在电力等系统领域占据主导权,也使得功率因数补偿控制系统被广泛应用。在铁合金电炉系统设计领域中,功率因数补偿控制成为目前…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
