2016-11-17 12:07:04
網(wǎng)站建設(shè)有關(guān)的重定向技術(shù)綜述...
因?yàn)閞esponse是jsp頁面中的隱含對(duì)象,故在jsp網(wǎng)站建設(shè)頁面中可以用response.sendRedirect()直接完成重定位。 留意: (1).運(yùn)用response.sendRedirect時(shí),后面不克...
發(fā)表日期:2016-11-17 12:07:04   文章編輯:紅海小編   瀏覽次數(shù):1
因?yàn)閞esponse是jsp頁面中的隱含對(duì)象,故在jsp網(wǎng)站建設(shè)頁面中可以用response.sendRedirect()直接完成重定位。
留意:
(1).運(yùn)用response.sendRedirect時(shí),后面不克不及有HTML輸入。
這并不是相對(duì)的,不克不及有HTML輸入其實(shí)是指不克不及有HTML被送到了閱讀器。現(xiàn)實(shí)上如今的server都有cache機(jī)制,普通在8K(我是說JSP SERVER),這就意味著,除非你封閉了cache,或許你運(yùn)用了out.flush()強(qiáng)迫刷新,那么在運(yùn)用sendRedirect之前,有大批的HTML輸入也是許可的。
(2).response.sendRedirect之后,應(yīng)當(dāng)緊跟一句return;
我們?cè)?jīng)曉得response.sendRedirect是經(jīng)過閱讀器來做轉(zhuǎn)向的,所以只要在頁面處置完成后,才會(huì)有實(shí)踐的舉措。既然你曾經(jīng)要做轉(zhuǎn)向了,那么后的輸入還有什么意義呢?并且有能夠會(huì)由于前面的輸入招致轉(zhuǎn)向掉敗。
有關(guān)JSP/Servlet的重定向技巧綜述如下[彌補(bǔ)]
1.RequestDispatcher.forward()
是在效勞器端起感化,當(dāng)運(yùn)用forward()時(shí),Servlet engine傳遞HTTP懇求從以后的Servlet or JSP到別的一個(gè)Servlet,JSP 或通俗HTML文件,也即你的FORM提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此時(shí)FORM提交的一切信息在b.jsp都可以取得,參數(shù)主動(dòng)傳遞.
但forward()無法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同時(shí)forward()無法在前面帶參數(shù)傳遞,比方servlet?name=frank,如許不可,可以程序內(nèi)經(jīng)過response.setAttribute("name",name)來傳至下一個(gè)頁面.
重定向后閱讀器地址欄URL不變.
例:在servlet中停止重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
ServletContext sc = getServletContext();
RequestDispatcher rd = null;
rd = sc.getRequestDispatcher("/index.jsp"); //定向的頁面
rd.forward(request, response);
}
平日在servlet中運(yùn)用,不在jsp中運(yùn)用。
2.response.sendRedirect()
是在用戶的閱讀器端任務(wù),sendRedirect()可以帶參數(shù)傳遞,比方servlet?name=frank傳至下個(gè)頁面,同時(shí)它可以重定向至分歧的主機(jī)上,sendRedirect()可以重定向有frame.的jsp文件.
重定向后在閱讀器地址欄上會(huì)呈現(xiàn)重定向頁面的URL
例:在servlet中重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
response.sendRedirect("/index.jsp");
}
因?yàn)閞esponse是jsp頁面中的隱含對(duì)象,故在jsp頁面中可以用response.sendRedirect()直接完成重定位。
留意:
(1).運(yùn)用response.sendRedirect時(shí),后面不克不及有HTML輸入。
這并不是相對(duì)的,不克不及有網(wǎng)站HTML輸入其實(shí)是指不克不及有HTML被送到了閱讀器。現(xiàn)實(shí)上如今的server都有cache機(jī)制,普通在8K(我是說JSP SERVER),這就意味著,除非你封閉了cache,或許你運(yùn)用了out.flush()強(qiáng)迫刷新,那么在運(yùn)用sendRedirect之前,有大批的HTML輸入也是許可的。
News
提供網(wǎng)站建設(shè)相關(guān)資訊、互聯(lián)網(wǎng)行業(yè)資訊、網(wǎng)站設(shè)計(jì)知識(shí)、空間域名郵箱、網(wǎng)站解決方案、常見問題、簽約新聞等
2016-11-17 12:07:04
因?yàn)閞esponse是jsp頁面中的隱含對(duì)象,故在jsp網(wǎng)站建設(shè)頁面中可以用response.sendRedirect()直接完成重定位。 留意: (1).運(yùn)用response.sendRedirect時(shí),后面不克...
2016-11-18 23:32:44
立異于軟件業(yè),就比方錢于社會(huì)人,立異不是全能的,沒有立異卻是萬萬不能的。可是立異也象錢相同,不是說有就有,乃至不能說跟自個(gè)努力有決議聯(lián)系。所以許多時(shí)分,媒體...
2016-11-18 23:33:21
導(dǎo)讀:本溪紅海傳媒網(wǎng)站12月4日在“特別報(bào)道”專欄中撰文指出:伴隨著上個(gè)世紀(jì)90年代經(jīng)濟(jì)的高速增加,很多的商用軟件層出不窮,而現(xiàn)在如此紛繁復(fù)雜的商...
2016-11-18 23:36:31
教學(xué)構(gòu)造單一 人才才能弱化 如今,我國(guó)軟件人才的培育首要依托規(guī)范院校的學(xué)歷教學(xué),集中在本科期間。據(jù)統(tǒng)計(jì),我國(guó)當(dāng)時(shí)軟件從業(yè)人員約有40萬...
2016-11-18 23:37:58
在前不久的殺毒廠商降價(jià)熱潮后,有人提出這個(gè)疑問?國(guó)內(nèi)通用軟件廠商在將來的存活點(diǎn)終究在哪里?之所以用“存活點(diǎn)”這個(gè)詞匯來形容,是因?yàn)楦鴮?duì)于個(gè)人...
2016-11-18 23:39:36
《復(fù)興軟件工業(yè)舉動(dòng)大綱》日前正式發(fā)動(dòng)。2002年9月18日,國(guó)務(wù)院辦公廳轉(zhuǎn)發(fā)了《復(fù)興軟件工業(yè)舉動(dòng)大綱(2002年至2005年)》(國(guó)辦發(fā)〔2002〕47號(hào))(以下簡(jiǎn)稱《舉動(dòng)大綱...