首先我們要明白用response.sendRedirect做轉(zhuǎn)向的原理,它其實是向瀏覽器發(fā)送一個特殊的Header, " /> 欧美在线免费,日韩欧美国产成人一区二区,极黄视频

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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

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

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

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

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

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

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

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

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

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技術(shù)jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 久久一本| 两性午夜视频 | 中文字幕一区二区三区精彩视频 | www4虎 | 成人精品一区亚洲午夜久久久 | 日韩毛片免费视频 | 亚洲精品免费视频 | 日韩精品免费视频 | 久久久久亚洲 | 少妇特黄a一区二区三区88av | 天天操夜夜操免费视频 | 欧美一区2区三区3区公司 | 婷婷色国产偷v国产偷v小说 | 日韩美女在线看免费观看 | 成人av大全| 一区二区三区在线免费观看 | 国产一区 在线视频 | 天天射影院 | 天天色综网| 狼色网| 日韩精品一区二区三区视频播放 | 91se在线 | 二区中文字幕 | 亚洲香蕉 | 久久精品99国产精品 | 国产精品久久久久久久毛片 | 四虎影 | 久久精品欧美一区二区三区麻豆 | av网址在线 | 国产精品久久久久久久久久久久 | a黄毛片 | 亚洲视频手机在线 | 日本不卡免费新一二三区 | 欧美日韩一区二区三区不卡视频 | 亚洲美女一区二区三区 | 91免费视频观看 | 91麻豆精品国产91久久久更新资源速度超快 | 国产精品免费看 | 欧洲精品久久久久毛片完整版 | 日韩在线观看一区二区三区 | 久久精品国产久精国产 |