Java Web——Servlet之前的调用方式、重定向解决方案、请求转发解决方案

简介: Java Web——Servlet之前的调用方式、重定向解决方案、请求转发解决方案

1.Servlet之前的调用方式


1.前提条件:针对浏览器某次请求,需要在服务端中由多个Servlet参与其中,但是浏览器一次只能请求一个资源文件,导致用户为了得到服务,结果需要手动通过浏览器发起多次请求,增加用户获得服务难度,降低使用感受。导致用户流失。

2.红线:无论本次请求中涉及了多少个Servlet,用户只需要手动发起一次请求。

3.解决方案:  重定向解决方案,请求转发解决方案。


2.Servlet重定向解决方案


  1. 首先来看一下工作原理图

依赖命令:response.sendRedirect("地址")

地址格式:1)如果要求浏览器访问的其他网站的资源,地址采用URLresponse.sendRedirect("http://www.baidu.com")
                 2)  
如果要求浏览器访问的当前网站的资源,地址采用URIresponse.sendRedirect("/myWeb/two")

特征:1)重定向过程中浏览器至少发送两次以上请求,但是只有第一次请求是用户手动发起的。

          2)在浏览器发送请求之后,收到的状态码是302时就可以判定服务端采用重定向方案解决请求

          3)通过重定向方案调用的Servlet接收的请求方式一定是GET,从第二次请求开始是通过浏览器地址发起的。因此发起
请求方式一定是GET


3.Servlet请求转发解决方案



首先来看一下工作原理图 

依赖命令://通过请求对象获得资源申请对象:RequestDispatcher  report =   request.getRequestDispatcher("地址");
                //
将资源申请对象发送给tomcatreport.forward(request,response)

地址格式:"/资源文件名"

特征:1)  请求转发过程中,浏览器只发送了一次请求。

          2)  请求转发过程中,为什么将请求对象和响应对象交给tomcat?请求转发过程,两个Servlet应该共享同一个请求协议包,因此它们共享这个请求协议包关联的请求对象和响应对象。

          3)通过请求转发调用的Servlet接收的请求方式:在同一次请求转发过程中,所有servlet接收请求方式保持一致。

相关文章
|
7月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
827 0
|
7月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
694 1
|
8月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
535 1
|
8月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
900 64
|
9月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
918 0
Java 识别请求来自移动端还是电脑端
Java 识别请求来自移动端还是电脑端
499 0
Java 识别请求来自移动端还是电脑端
|
6月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
307 1
|
6月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
319 1
|
7月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
295 0