JavaWeb学习(1)

目录

一、什么是JavaWeb

 二、静态web和动态web

三、Web服务器(Tomcat)

四、Http

4.1 是什么

4.2 两个时代

 4.3 Http请求

4.4 Http响应

五、Maven

六、Servlet

七、HttpServletResponse

7.1 常见应用

7.1.1 向浏览器输出消息

7.1.2 下载文件

7.1.3 验证码功能 

7.1.4 实现重定向

八、HttpServletRequest

 8.1 常见应用

8.1.1 获取前端传递的参数

8.1.2 请求转发

九、Cookie和Session

9.1 Cookie

9.2 Session 

9.3 区别


一、什么是JavaWeb

在Java中,动态web资源开发的技术统称为JavaWeb

Web应用程序编写完毕后,若想提供给外部访问,需要一个服务器来统一管理

 二、静态web和动态web

 静态web

动态web

动态web的优点:

  • web页面可以动态更新,所有用户看到的不是一个东西
  • 可以与数据库交互(数据持久化)

三、Web服务器(Tomcat)

 服务器:是一种被动的操作,用来处理用户的请求和给用户一些响应信息

如何使用Tomcat?

1、安装

2、了解文件夹的作用

3、启动/关闭Tomcat(方式之一)

 

访问测试:localhost:8080

 4、配置

可以配置启动的端口号

  • Tomcat默认端口号:8080
  • Mysql:3306
  • http:80
  • https:443 

四、Http

4.1 是什么

超文本传输协议,是一个简单的请求-响应协议,通常运行在TCP之上

  • 文本:html、字符串
  • 超文本:图片、音乐、视频、定位、地图

4.2 两个时代

HTTP 1.0:客户端与web服务器连接后,只能获取一个web资源,断开连接

HTTP 1.1:客户端与web服务器连接后,可以获得多个web资源

 4.3 Http请求

客户端------发请求(Request)------服务器

请求方式:

  • Get:请求能够携带的参数比较少,大小有限制在浏览器的URL地址栏显示数据内容不安全,但高效
  • Post:请求携带参数没有限制,大小没有限制不会在浏览器的URL地址栏显示数据内容安全,但不高效

4.4 Http响应

 服务端------响应(Response)------客户端

响应状态码【重点】

200:请求响应成功

3xx:请求重定向

4xx:找不到资源

5xx:服务器代码错误

五、Maven

是一个工具,帮我们自动导入和配置jar包

核心思想:约定大于配置(有约束,不要去违反)

maven环境优化:1、修改web.xml为最新的  2、将maven的结构搭建完整(补充java、resources包)

六、Servlet

实现了Servlet接口的java程序叫做,Servlet

Servlet有两个默认实现类:HttpServlet,GenericServlet

为什么需要编写Servlet的映射?

我们写的是java程序,客户端要访问,需要连接web服务器。所以我们要在web服务器中注册写的servlet,并提供给它一个客户端能够访问的路径

七、HttpServletResponse

 Web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,和代表响应的HttpServletResponse对象

  • 如果要获取客户端请求过来的参数,找HttpServletRequest
  • 如果要给客户端响应一些信息,找HttpServletResponse

7.1 常见应用

7.1.1 向浏览器输出消息

7.1.2 下载文件

        1、要获取下载文件的路径

        2、下载文件名是什么

        3、让浏览器能够支持下载(设置头部文件信息)

        4、获取下载文件的输入流

        5、创建缓冲区

        6、获取OutputStream对象

        7、将FileOutPutStream流写入到buffer缓冲区

        8、使用OutPutStream将缓冲区中的数据输出到客户端

 

7.1.3 验证码功能 

 

7.1.4 实现重定向

 面试题:请你聊聊转发和重定向的区别?

相同点:页面都会实现跳转

不同点:

  • 请求转发的时候,url不会产生变化 (307)
  •  重定向的时候,url会发生变化 (302)

八、HttpServletRequest

 8.1 常见应用

8.1.1 获取前端传递的参数

8.1.2 请求转发

 

九、Cookie和Session

 会话:用户打开一个浏览器,点击超链接,访问web资源,关闭浏览器,这个过程可以称之为对话

有状态对话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,称之为有状态对话

保存会话的两种技术:

1、cookie(客户端技术)

2、session(服务器技术)

9.1 Cookie

1、从请求中拿到cookie信息

2、服务器响应给客户端cookie

 

删除cookie:

  • 不设置有效期,关闭浏览器,自动失效
  • 设置有效时间为0 

9.2 Session 

服务器会给每个用户(浏览器)创建一个Session对象

删除session:

  • 手动注销

 

  • web.xml中配置

 

9.3 区别

  • Cookie是把用户的数据写给用户的浏览器,浏览器保存
  • Session是把用户的数据写到用户独占的Session中,服务器端保存

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为您的人工智能数据提供类似 Git 的版本管理功能

您过去肯定有过版本控制代码。但是,您是否对数据进行了版本控制?您是否曾经想过与不同的团队协作处理大量数据,而无需提交大量数据?想象一下,使用类似 git 的命令来运行类似存储库的生态系统,在该生态系统中…

Unity实现自定义图集(三)

以下内容是根据Unity 2020.1.0f1版本进行编写的   1、实现编辑器模式下进游戏前Pack全部自定义图集 同Unity的图集一样,Unity的编辑器模式会在进游戏前把全部的SpriteAtlas都打一次图集,如图: 我们也实现这样的效果。 首先需要获取全部的图集路径。因为目前使用的是以.…

RISC-V笔记——RVWMO基本体

1. 前言 RISC-V使用的内存模型是RVWMO(RISC-V Weak Memory Ordering),它是Release Consistency的扩展,因此,RVWMO的基本特性类似于RC模型。 2. RC模型 Release consistency(RC)的提出是基于一个观察:将所有同步操作用FENCE围在一…

全国职业技能大赛——信息安全管理与评估第一阶段BC、FW、WAF题目详细解析过程

💗需要职业技能大赛环境+WP,请联系我!🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 一个想当文人的黑客 ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【edusrc漏洞挖掘】 【VulnHub靶场复现】【面试分析】 🎉欢迎关注💗一起学习👍一起讨论⭐️一起…

【WPF】中ListBox的ListBox选项的选中状态在弹出MessageBox后失效的解决办法

1.问题描述 1.1 ListBox选项的样式 在WPF中,可以通过定义ListBoxItem的样式来改变ListBox选项的选中状态。这通常涉及到使用ControlTemplate和Trigger来指定当ListBoxItem处于不同状态时(如被选中、鼠标悬停等)的外观。ListBoxItem设置不同…

TikTok零播放的原因及解决方法

TikTok作为一个月活跃用户数已经超过15亿的社媒平台,巨大的流量不断吸引着用户加入,其中不乏需要推广获客的卖家。在运营推广工作中,视频播放量是重要的评估维度,如果出现零播放的情况,需要卖家找出原因并尽快解决。 一…

『Mysql集群』Mysql高可用集群之主从复制 (一)

Mysql主从复制模式 主从复制有一主一从、主主复制、一主多从、多主一从等多种模式. 我们可以根据它们的优缺点选择适合自身企业情况的主从复制模式进行搭建 . 一主一从 主主复制 (互为主从模式): 实现Mysql多活部署 一主多从: 提高整个集群的读能力 多主一从: 提高整个集群的…

vulnhub靶场之digitalworld.local: MERCY v2

一.环境搭建 1.靶场描述 MERCY is a machine dedicated to Offensive Security for the PWK course, and to a great friend of mine who was there to share my sufferance with me. :-) MERCY is a name-play on some aspects of the PWK course. It is NOT a hint for the …

快速排序-加餐

1.快排性能的关键点分析 决定快排性能的关键点是每次单趟排序后,key对数组的分割,如果每次选的key基本都二分居中,那么快排的递归树就是一棵均匀的满二叉树,性能达到最佳。 但是在实践中虽然不可能每次都是二分居中,…

[CTF夺旗赛] CTFshow Web13-14 详细过程保姆级教程~

前言 ​ CTFShow通常是指网络安全领域中的“Capture The Flag”(夺旗赛)展示工具或平台。这是一种用于分享、学习和展示信息安全竞赛中获取的信息、漏洞利用技巧以及解题思路的在线社区或软件。参与者会在比赛中收集“flag”,通常是隐藏在网络环境中的数据或密码形…

面向对象--继承

文章目录 1. 继承概念及定义:继承的定义:继承关系和访问限定符:继承基类成员访问方式的变化 (在派生类中访问方式) 2. 基类和派生类对象赋值转换3 .继承中的作用域4. 派生类的默认成员函数5. 继承与友元6. 继承与静态成…

《Python爬虫逆向实战》内存漫游

所谓内存漫游,就是说我们可以在浏览器内存中随意检索任何想要的数据。在JS逆向过程中,最麻烦和最浪费时间的步骤就是跟值。本篇文章介绍内存漫游工具能够帮助我们快速定位某个加密值的生成位置,即可以直接搜索变量的值(value),而不…

【Linux】Linux进程基础

1.进程介绍与概念 进程的本质是在计算机内存中运⾏的程序,但是这⼀个概念太过于⼴泛 每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运行,所有的硬件资源都被这个程序在使用。这种假象…

jenkins 插件Publish Over SSH (sskey) 同步文件夹

一、安装插件 Publish Over SSH SSH Pipeline Steps 二、添加sshkey 将ssh免密登录的私钥新建到 二、准备目录 源:images 目标:/root/images2 流水线脚本 pipeline {agent anystages {stage(Dest) {steps {script{def remote [:]remote.name tstr…

Go 语言应用开发:从入门到实战

Go 语言应用开发:从入门到实战 引言 Go(Golang)是由 Google 开发的一种开源编程语言,设计初衷是提高编程效率,尤其是在高并发场景下表现出色。Go 语言以其简洁、易学、高效并发的特性,逐渐成为开发者的首…

【LeetCode每日一题】——1588.所有奇数长度子数组的和

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 前缀和 二【题目难度】 简单 三【题目编号】 1588.所有奇数长度子数组的和 …

【fisco学习记录】搭建第一个单群组联盟链

前提:操作系统Windows11,安装wsl:Windows11安装wsl并迁移记录_adduser: please enter a username matching the regu-CSDN博客 一、 安装依赖 安装ubuntu依赖 sudo apt install -y openssl curl 二、创建操作目录, 下载安装脚本 ## 创建操…

一文介绍SQL标准1986~2023的演变

SQL标准1986年制定第一版,到最新的2023版,已经有38年的历史,现在依然是计算机非常活跃的语言,50%的程序员都能掌握SQL,数据分析师也是SQL的主要使用人员之一。 从早期的基本语法,到融合了XML、JSON等复杂数…

Qt- JSONXML

1. JSON概述 JSON(JavaScript Object Notation, JS 对象简谱)是一种轻量级的数据交换格式。 JSON 采用 key-value 的结构来组织和管理数据。 JSON 支持的数据类型: 数值型、字符串、布尔值、数组、对象等 JSON 来源于 JavaScript JSON应用…

UE5模型导入面板解读

1.Skeletal Mesh: 是一个可以让模型动起来的选项,适用于需要动画的角色或生物。是否勾选:如果导入的是一个需要动画的角色或生物,就勾选 Skeletal Mesh 选项;如果是静态物体,就不勾选。 2.Build Nanite&a…