主頁 > 知識(shí)庫 > jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決

jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決

熱門標(biāo)簽:杭州語音電銷機(jī)器人軟件 四川保險(xiǎn)智能外呼系統(tǒng)商家 北票市地圖標(biāo)注 電銷機(jī)器人是有一些什么技術(shù) 高德地圖標(biāo)注樣式 電銷機(jī)器人好賣么 商洛電銷 地圖標(biāo)注線上教程 杭州ai語音電銷機(jī)器人功能
最近做項(xiàng)目時(shí)遇到一個(gè)問題,明明加了response.sendRedirect() ,系統(tǒng)也執(zhí)行了,但是它就是不跳轉(zhuǎn);最后在網(wǎng)上找到原因如下:

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

所以使用response.sendRedirect時(shí)就需要注意以下兩點(diǎn):

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

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

2、在response.sendRedirect之后,應(yīng)該緊跟一句return;

我們已經(jīng)知道response.sendRedirect是通過瀏覽器來做轉(zhuǎn)向的,所以只有在頁面處理完成后,才會(huì)有實(shí)際的動(dòng)作。既然你已經(jīng)要做轉(zhuǎn)向了,那么后的輸出還有什么意義呢?而且有可能會(huì)因?yàn)楹竺娴妮敵鰧?dǎo)致轉(zhuǎn)向失敗。

%@ include file="/page/checkLogin.jsp" %>這個(gè)放在要驗(yàn)證的頁面的第一句。

checkLogin.jsp 內(nèi)容是通過看session 里面有沒登陸用戶的內(nèi)容來判斷是否登錄, 如果沒有,那么跳轉(zhuǎn)到登陸頁面:
復(fù)制代碼 代碼如下:

%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
%
if (session.getAttribute("userinfo") == null) {

response.sendRedirect(url);

return;
}
%>
您可能感興趣的文章:
  • JSP的response對(duì)象的實(shí)例詳解
  • tomcat6下jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法
  • JSP response對(duì)象實(shí)現(xiàn)文件下載的兩種方式
  • Jsp中response對(duì)象的所有屬性詳細(xì)介紹
  • JSP內(nèi)置對(duì)象:Request和Response的簡(jiǎn)單介紹及使用
  • JSP 中response.setContentType()的作用及參數(shù)

標(biāo)簽:云浮 江西 宿州 貴州 紅河 青島 西藏 丹東

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決》,本文關(guān)鍵詞  jsp,response.sendRedirect,不跳轉(zhuǎn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決》相關(guān)的同類信息!
  • 本頁收集關(guān)于jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章