jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決_JSP教程
推薦:JSP指令元素(page指令/include指令/taglib指令)復(fù)習整理今天復(fù)習了JSP指令元素部分,整理了下,跟大家一起分享: 一、page指令: 設(shè)定JSP頁面的全局屬性,該配置作用于整個JSP頁面,設(shè)置包括靜態(tài)包含的文件。 %@ page 屬性1=屬性值1 屬性2=屬性值2 % 1、language屬性:申明所使用的腳本語言種類,目前只有java一種,不排斥以
最近做項目時遇到一個問題,明明加了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)向了,那么后的輸出還有什么意義呢?而且有可能會因為后面的輸出導致轉(zhuǎn)向失敗。
<%@ include file="/page/checkLogin.jsp" %>這個放在要驗證的頁面的第一句。
checkLogin.jsp 內(nèi)容是通過看session 里面有沒登陸用戶的內(nèi)容來判斷是否登錄, 如果沒有,那么跳轉(zhuǎn)到登陸頁面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
if (session.getAttribute("userinfo") == null) {
response.sendRedirect(url);
return;
}
%>
分享:JSP腳本元素和注釋復(fù)習總結(jié)示例今天復(fù)習了JSP腳本元素和注釋部分,案例寫出來,大家自己調(diào)試下,整體總結(jié)如下, 1、JSP申明語句: %! 申明語句 % 使用申明語句的變量為全局變量,多個用戶執(zhí)行此JSP頁面,將共享該變量。 如: 復(fù)制代碼 代碼如下: html head titleJSP Demo/title /head body %! int a
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習整理
- JSP腳本元素和注釋復(fù)習總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- jsp 連接sql server 2008 連接不上的解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
。