JavaWeb【总结】——(请求和响应)浏览器发送请求的方式 服务器响应的方式

news2024/11/26 18:28:41

本文目录

  • 引出
  • JavaWeb相关知识
    • 1.网页状态码+web相关背景知识+如何在idea中建tomcat web项目
    • 2.Web的请求request:get和post,响应response
    • 3.同步请求和异步请求Ajax,以及异步的Json响应
    • 4.同步jsp和异步ajax的axios下,转发或重定向思考
  • 浏览器发送请求
    • 1.浏览器地址栏发送请求----全是get
    • 2.form表单:可以是get或post
    • 3.超链接:等价于浏览器地址栏---get
  • 服务器响应
    • 1.响应静态页面:webapp下的静态资源;
    • 2.Servlet处理:resp.getWriter().write("xxxxxxxxxx");
    • 3.Servlet处理:重定向 resp.sendRedirect("/path")
    • 4.Servlet处理:内部转发---servlet或jsp
  • 应用案例
    • 1.同步请求的案例
    • 2.异步请求的案例
  • 总结

引出

根据前面学到的同步、异步,servlet的转发重定向,JavaScript等相关内容,有必要用浏览器发送请求的方式,以及服务器响应的方式这个角度进行思考。
在这里插入图片描述


JavaWeb相关知识

1.网页状态码+web相关背景知识+如何在idea中建tomcat web项目

Servlet学习 & Web相关背景知识 + 网页状态码(304) & JavaWeb项目初步

在这里插入图片描述

2.Web的请求request:get和post,响应response

web的 请求request (post和get请求)和 响应response + 【案例】表格显示在网页

在这里插入图片描述

3.同步请求和异步请求Ajax,以及异步的Json响应

从 Jsp同步请求 到 Ajax 的 axios 的异步请求,以及异步标准响应
在这里插入图片描述

4.同步jsp和异步ajax的axios下,转发或重定向思考

什么时候用转发,什么时候用重定向 & 请求request,响应response

在这里插入图片描述

浏览器发送请求

1.浏览器地址栏发送请求----全是get

方法全是get

在这里插入图片描述

http://localhost:8080/day06/opus/updatePage/vue/update?id=47

2.form表单:可以是get或post

在这里插入图片描述

一个form表单的get方法案例:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>图书添加页面</title>
</head>
<body>
<h1>添加图书信息</h1>

<form action="/day06/opus/addMess" method="get">
    书名:<input type="text" name="name"><br>
    简介:<input type="text" name="intro"><br>
    类型:
<%--    用forEach把类型信息拼出来--%>
    <select name="typeId">
        <c:forEach items="${bookTypes}" var="type">
            <option value="${type.id}">${type.name}</option>
        </c:forEach>
    </select><br>
    <span style="color: darkred">${msg}</span>
    <br>
    <input type="submit" value="提交">
    <input type="reset" value="重置">
</form>
</body>
</html>

get方法的案例

<form action="/day06/user/login" method="post">
<%--    没有name无法给后台传数据--%>
    用户名:<input type="text" name="username"><br>&nbsp;&nbsp;&nbsp;码:<input type="text" name="password"><br>
    <input type="submit" value="登陆">
    <span style="color: darkred">${msg}</span>
</form>

3.超链接:等价于浏览器地址栏—get

在这里插入图片描述

 <a href="/day06/opus/update?id=${opus.id}">修改</a>

服务器响应

1.响应静态页面:webapp下的静态资源;

在这里插入图片描述

2.Servlet处理:resp.getWriter().write(“xxxxxxxxxx”);

配置resp.setContentType(“text/html;charset=utf-8”);
在这里插入图片描述

// 解决中文的显示问题
response.setCharacterEncoding("UTF-8"); // 设置成编码
response.setContentType("text/html;charset=utf-8"); // 展示的方式
response.getWriter().write("<h2>inputSuccess<h2>");

3.Servlet处理:重定向 resp.sendRedirect(“/path”)

既可以重定向到servlet,也可以重定向到jsp,让浏览器直接执行该地址

在这里插入图片描述

resp.sendRedirect(req.getContextPath()+"/news/list.jsp");

4.Servlet处理:内部转发—servlet或jsp

共享数据,传到下一个servlet或者jsp
在这里插入图片描述

req.getRequestDispatcher("/news/list").forward(req, resp);

5.Servlet处理:异步Ajax的标准响应格式Json

import com.alibaba.fastjson.JSON;

resp.setContentType("application/json;charset=utf-8");
resp.getWriter().write(
		JSON.toJSONString(
				new ResData(3001, "不能删除别人", null)));

应用案例

1.同步请求的案例

同步的登录和注册的实现,以及用session进行登录信息的保存:

同步登陆+注册—— 登陆 和 注册功能 的实现 & 从html 到 jsp 迭代升级 & session保存登陆信息

在这里插入图片描述

同步请求下,数据list显示到前端,分页显示,以及数据的增删改查

用Jsp语法 到 实现数据的分页展示 到 只看自己的数据 + 模糊查询 & 迭代升级

用Jsp语法实现同步请求的 增删改查 + 删除权限控制

在这里插入图片描述

2.异步请求的案例

用异步实现登陆和注册功能,以及在异步请求中遇到的bug汇总
异步登陆+注册——登陆和注册功能 的 迭代升级 & 从Jsp到JavaScript + axios + vue & 诸多bug & 同步到异步

在这里插入图片描述
异步分页显示,到增删改查全流程实现,以及同步异步在增删改查方法的流程的区别分析

Tomcat异步分页+增删改查——从同步到异步 & 从jsp 到 js + axios + vue 实现 数据分页显示 & 数据增删改查

在这里插入图片描述


总结

javaweb开发相关背景知识;
浏览器请求和服务器响应方式总结;
同步和异步的登录注册,分页显示,增删改查案例;

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

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

相关文章

【图片轮播】Vue如何实现移动端图片轮播效果,支持左右滑动(附图文及代码)

【写在前面】 日常生活中&#xff0c;其实我们是离不开手机查看相册的&#xff0c;尤其是图片的轮播展示&#xff0c;最近我就接到我家老大给出的需求&#xff0c;首先是从网上下载下来之前她做的图片&#xff0c;然后她就希望能够在自己手机上能随时查看&#xff0c;这不没办法…

Java使用OpenCV进行图像操作

OpenCV图像操作 OpenCV概述下载与安装目录说明项目集成验证 Mat类创建Mat对象其他操作 常见图像API读取与输出图像显示图像图像压缩和解压缩图像转换图像缩放亮度调整图像锐化图像梯度图像二值化边缘检测图像高斯模糊图像反色 OpenCV 概述 OpenCV&#xff08;开源计算机视觉库…

2023互联网高级测试工程师至少具备的能力

业务熟悉 熟悉本系统 测试人员参与测试的系统的各种业务场景&#xff0c;必须做到精熟 。一旦需求有改动&#xff0c;可以清楚快速的知道上下文。同时可以清楚的知道哪些点是需要重点测试的。 熟悉跟本系统有通讯的上下游系统业务 跟本系统有通讯的上下游系统也要非常熟悉。这…

Exception in thread “main“ java.lang.UnsupportedClassVersionError 50报错处理

之间正常走jenkinsdocker自动化部署的项目&#xff0c;今天改了一个文件&#xff0c;点了一下&#xff0c;竟然没有部署上去&#xff0c;提示如上&#xff0c;如下 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/coocaa/tsp/sys/user/Use…

Web 自动化测试Selenium 之PO 模型

目录 1. po 模型介绍 2. PageObject 设计模式 3. PO 的核心要素 4. 非PO 实现 5. PO 实现 6. 总结 7. PO 模式的特点 总结&#xff1a; 1. po 模型介绍 在自动化中&#xff0c;Selenium 自动化测试中有一个名字经常被提及 PageObject (思想与面向对象的特征相同)&#x…

【改进算法】混合鲸鱼WOA和BAT算法(Matlab代码实现)​

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Python键盘监听:实现快捷操作和自动化脚本(监听组合键

前言 本文主要介绍一下使用Python进行事件监听功能&#xff0c;以实现一些特有的操作。本文旨在介绍如何实现这一功能。 笔者根据一些需求写了一个小工具&#xff0c;流程和功能如下图所示&#xff08;实际功能有更多&#xff09;&#xff1a; 该工具主要实现了 键盘监听 和 鼠…

从Linux源码看TIME_WAIT状态的持续时间

前言 笔者一直以为在Linux下TIME_WAIT状态的Socket持续状态是60s左右。线上实际却存在TIME_WAIT超过100s的Socket。由于这牵涉到最近出现的一个复杂Bug的分析。所以&#xff0c;笔者就去Linux源码里面&#xff0c;一探究竟。 首先介绍下Linux环境 TIME_WAIT这个参数通常和五…

C++入门,一些C++基本概念介绍

文章目录 目录 前言 1.C关键字 1.1命名空间 1.2命名空间定义 1.3命名空间的使用 2.C输入&输出 3.缺省参数 3.1缺省参数的概念 3.2缺省参数分类 4.函数重载 4.1函数重载的概念 5.引用 5.1 引用特性 5.2 常引用 5.3引用的使用场景 5.4引用和指针 6.内联函数…

【Java基础】注解——自定义注解

什么是注解? Java 注解(Annotation)又称 Java 标注&#xff0c;是 JDK5.0 引入的一种注释机制。 比如我们常见的Override和Deprecated都是注解&#xff0c;注解可以加在类、方法、成员变量等上面&#xff0c;类似于给他们“打标签"。 注解怎么定义? public interface…

华为OD机试真题 JavaScript 实现【百钱买百鸡问题】【牛客练习题】

一、题目描述 公元五世纪&#xff0c;我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”&#xff1a;鸡翁一值钱五&#xff0c;鸡母一值钱三&#xff0c;鸡雏三值钱一。百钱买百鸡&#xff0c;问鸡翁、鸡母、鸡雏各几何&#xff1f; 现要求你打印出所有花一百元买一百…

AM@空间直角坐标系@数量积和向量积@向量的外积在物理学中的相关概念

文章目录 空间直角坐标系坐标面分向量坐标分解式余弦定理数量积的坐标表示公式 向量积向量积的坐标表示公式 向量的外积在物理学中的相关概念物理量ref 角速度和向量积量纲Base unit (measurement)Background&#x1f388;International System of Units&#x1f388;附 表达方…

【ROS】ROS1导航(了解)

1、简述 ROS1导航模块navigation&#xff0c;它从里程计、传感器流和目标姿势中获取信息&#xff0c;并将速度、角速度控制命令发送至差速控制单元。 因为是ROS1&#xff0c;所以下面的内容只是一带而过&#xff0c;没有深入学习总结。详细内容可参考官网&#xff1a;http://…

Spring高手之路5——彻底掌握Bean的生命周期

文章目录 1. 理解Bean的生命周期1.1 生命周期的各个阶段 2. 理解init-method和destroy-method2.1 从XML配置创建Bean看生命周期2.2 从配置类注解配置创建Bean看生命周期2.3 初始化和销毁方法的特性2.4 探究Bean的初始化流程顺序 3. PostConstruct和PreDestroy3.1 示例&#xff…

Scala入门

第1章 Scala入门 1.1 概述 Scala将面向对象和函数式编程结合成一种简洁的高级语言。 语言特点如下&#xff1a; &#xff08;1&#xff09;Scala和Java一样属于JVM语言&#xff0c;使用时都需要先编译为class字节码文件&#xff0c;并且Scala能够直接调用Java的类库。 &#…

Linux进程信号 | 信号处理

前面的文章中我们讲述了信号的产生与信号的保存这两个知识点&#xff0c;在本文中我们将继续讲述与信号处理有关的信息。 信号处理 之前我们说过在收到一个信号的时候&#xff0c;这个信号不是立即处理的&#xff0c;而是要得到的一定的时间。从信号的保存中我们可以知道如果…

CSP-J组初赛历年真题讲解第1篇

一、二进制基础 1.二进制数 00100100 和 00010100 的和是( )。 A.00101000 B.01100111 C.01000100 D.00111000 来源&#xff1a;模拟试题正确答案&#xff1a;D 讲解&#xff1a; 2.在二进制下&#xff0c;1011001()11001101011001( )1100110 A. 1011 B. 1101 C. 1010…

仓库Vuex

1. 搭建vuex仓库 1.1 安装 npm install vuexnext 1.2 引入 创建store文件夹&#xff0c;里面创建index.js&#xff0c;该js文件中写&#xff1a; import { createStore } from vuex // 引入子仓库 import model1 from "./model1.js" import model2 from "…

行为型设计模式05-备忘录模式

&#x1f9d1;‍&#x1f4bb;作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、个人博客 、Github &#x1f389;公众号&#xff1a;猫十二懿 备忘录模式 1、备忘录模式介绍 备忘录模式是一种行为型设计模式&#xff0c;用于在不破坏封装性的前提…

Spring Resources资源操作

文章目录 1、Spring Resources概述2、Resource接口3、Resource的实现类3.1、UrlResource访问网络资源3.2、ClassPathResource 访问类路径下资源3.3、FileSystemResource 访问文件系统资源3.4、ServletContextResource3.5、InputStreamResource3.6、ByteArrayResource 4、Resour…