java确认重新提交表单,总提示确认提交表单---刷新页面时

本文分析了在Java后台开发中,用户从register.jsp通过表单登录后,请求被转发到index.jsp,刷新页面时出现表单提交提示的问题。通过深入理解请求分派与重定向的区别,提出并实施了使用重定向解决此问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.问题描述:

在register.jsp页面登录后,后台请求分派到index.jsp,然后每次刷新都会做如下截图提示。

df337c8b457999aa175313c78fb4197a.png

二.背景:

1.Java写的后台

2.浏览器网址登录前和登录后一直是:http://localhost:8080/diary/User.do?action=login

3.在register.jsp页面登录后,后台请求分派到index.jsp

request.getRequestDispatcher("index.jsp").forward(request, response);// 请求分派页面

三.分析

此处register.jsp和index.jsp页面是独立的,登录的表单在register.jsp页面,index.jsp页面没有任何表单。可是为什么会有这样的提示呢?分析页面的过程:

在register.jsp登录页:http://localhost:8080/diary/login.jsp;

登录后:http://localhost:8080/diary/User.do?action=login;

刷新:http://localhost:8080/diary/User.do?action=login;

由于后台是用的请求分派把index.jsp的内容发送到客户端的,而此时客户端的页面网址并不会发生改变,刷新页面时,浏览器请求的是User.do?action=login并不是index.jsp,而User.do?action=login这个请求包含表单提交,所以会提示。

四.解决办法

后台处理register.jsp的servlet将请求分派改为重定向,此时网址会变,问题解决。

response.sendRedirect("index.jsp");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值