首先我們要明白用response.sendRedirect做轉向的原理,它其實是向瀏覽器發(fā)送一個特殊的Header, " /> 高清潢色大片,一级一级人与动毛片,五月综合激情网

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

jsp response.sendRedirect不跳轉的原因分析及解決

最近做項目時遇到一個問題,明明加了response.sendRedirect() ,系統(tǒng)也執(zhí)行了,但是它就是不跳轉;最后在網(wǎng)上找到原因如下:

首先我們要明白用response.sendRedirect做轉向的原理,它其實是向瀏覽器發(fā)送一個特殊的Header,然后由瀏覽器來做轉向,轉到指定的頁面,所以用sendRedirect時,瀏覽器的地址欄上可以看到地址的變化。
用<jsp:forward page=""/>則不同,它是直接在server做的,瀏覽器并不知道,也不和瀏覽器打交道,這從瀏覽器的地址并不變化可以看出。

所以使用response.sendRedirect時就需要注意以下兩點:

1、在使用response.sendRedirect時,前面不能有HTML輸出。

這并不是絕對的,不能有HTML輸出其實是指不能有HTML被送到了瀏覽器。事實上現(xiàn)在的server都有cache機制,一般在8K(我是說JSP SERVER),這就意味著,除非你關閉了cache,或者你使用了out.flush()強制刷新,那么在使用sendRedirect之前,有少量的HTML輸出也是允許的。
如果報錯說,“一些信息已經被submitted”(原文忘了),那么,你就要注意看了,前面是不是有過多的HTML輸出了。

2、在response.sendRedirect之后,應該緊跟一句return;

我們已經知道response.sendRedirect是通過瀏覽器來做轉向的,所以只有在頁面處理完成后,才會有實際的動作。既然你已經要做轉向了,那么后的輸出還有什么意義呢?而且有可能會因為后面的輸出導致轉向失敗。

<%@ include file="/page/checkLogin.jsp" %>這個放在要驗證的頁面的第一句。

checkLogin.jsp 內容是通過看session 里面有沒登陸用戶的內容來判斷是否登錄, 如果沒有,那么跳轉到登陸頁面:
復制代碼 代碼如下:
<%@ page language="Java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
if (session.getAttribute("userinfo") == null) {

response.sendRedirect(url);

return;
}
%>

jsp技術jsp response.sendRedirect不跳轉的原因分析及解決,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品亚洲人成在线播放 | 欧美成人免费一区在线播放 | 91探花福利精品国产自产在线 | 午夜精品久久久久久中宇 | 亚洲六月丁香六月婷婷蜜芽 | 午夜毛片网站 | 久久妻 | 久久久久久久99视频 | 色网站免费观看 | 国内精品久久久久久麻豆 | 美女黄区 | 成人免费观看完整视频 | 91免费国产视频 | 精品国产免费第一区二区三区日韩 | 图片区小说区区国产明星 | 黄网免费视频 | 2019偷偷狠狠的日日 | 色多多视频官网 | 四虎4hu亚洲精品 | 国产精品色婷婷在线观看 | 国产精品日韩欧美一区二区三区 | 理论片中文字幕在线观看 | 国产一区二区精品在线观看 | 欧美一级久久久久久久大片 | 亚洲播播播| 青青热久久国产久精品 | 国产一区二区精品久久 | 国产欧美一区二区三区在线看 | 亚洲伊人精品综合在合线 | 韩国美女免费网站视频 | 精品久久久久国产 | 一区二区三区免费视频播放器 | 看全色黄大色黄大片视频 | 99视频在线精品免费 | 国产第一页在线视频 | 国产精品久久久久久久久久一区 | 91精品国产免费网站 | 久久国内精品自在自线观看 | 亚洲一区二区三区在线播放 | 久久免费国产精品一区二区 | 2021国内精品久久久久影院 |