麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:21:50
字體:
來源:轉載
供稿:網友
最近做項目時遇到一個問題,明明加了response.sendRedirect() ,系統也執行了,但是它就是不跳轉,具體的原因如下,感興趣的各位可以參考下哈,希望對大家有所幫助

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

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

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

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

這并不是絕對的,不能有HTML輸出其實是指不能有HTML被送到了瀏覽器。事實上現在的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;
}
%>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 性爱免费视频 | 性 毛片| 久久91精品国产91久久yfo | chinesexxxx极品少妇| 免费毛片电影 | 一级黄色欧美 | 一级电影在线观看 | 久久国产成人精品国产成人亚洲 | 久久久久久久久久91 | 欧洲伊人网 | 国产亚洲精品久久777777 | 亚洲最大av网站 | 性爱视频在线免费 | 国产精品一区二区视频 | 国产91亚洲精品久久久 | 国产69精品久久久久久野外 | 国产手机av在线 | 毛片118极品美女写真 | 一区二区免费 | 久久久久久久黄色片 | 日本在线观看一区二区 | 91精品国产手机 | 精品久久久久久久 | 久久一级 | 免费a级毛片大学生免费观看 | 高潮娇喘嗯啊~文字 | 可以看毛片的网址 | 久久手机在线视频 | 视频在线亚洲 | 草草久久久 | 亚洲男人一区 | 精品欧美一区二区精品久久 | 久久久久成人免费 | 男人的天堂色偷偷 | 成年人视频在线免费观看 | 天天干导航 | 国产精品性夜天天视频 | 欧美成人精品一区二区 | 久草在线资源福利站 | 天天看成人免费毛片视频 | 精品国产91久久久久久浪潮蜜月 |