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接收请求方式保持一致。

相关文章
|
3月前
|
设计模式 Java Spring
Java 设计模式之责任链模式:优雅处理请求的艺术
责任链模式通过构建处理者链,使请求沿链传递直至被处理,实现发送者与接收者的解耦。适用于审批流程、日志处理等多级处理场景,提升系统灵活性与可扩展性。
423 2
|
4月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
501 1
|
4月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
502 0
|
3月前
|
缓存 安全 Java
《深入理解Spring》过滤器(Filter)——Web请求的第一道防线
Servlet过滤器是Java Web核心组件,可在请求进入容器时进行预处理与响应后处理,适用于日志、认证、安全、跨域等全局性功能,具有比Spring拦截器更早的执行时机和更广的覆盖范围。
|
5月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
444 1
|
12月前
|
安全 Java 数据安全/隐私保护
springSecurity学习之springSecurity过滤web请求
通过配置 Spring Security 的过滤器链,开发者可以灵活地管理 Web 请求的安全性。理解核心过滤器的作用以及如何配置和组合这些过滤器,可以帮助开发者实现复杂的安全需求。通过具体的示例代码,可以清晰地了解 Spring Security 的配置方法和实践。
589 23
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
283 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
11月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
766 7
|
11月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
2338 5
|
10月前
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来