你是想做到jsP頁面不加入<%%>這種小腳本吧,那可以採用EL表達式,或者一些框架的輸出方式,通常用EL就可以了,因為EL就是用來運算和表達的。後台獲取數據以後,這個數據可以是一個簡單類型,也可以是一個對象,如果是同一個請求下的,也就是request對象沒有變,那麼可以用這個存儲,否則要用session存儲,存儲數據的對象是JSP內置的對象,有page,request,session,application等,每個對象都能存儲數據,但是作用於不同,page針對當前頁面,request針對一個請求,session針對一個會話,application針對整個應用程序。 通常session就可以了。 比如後台獲取一個String的name值,那麼你可以session.setAttribute("name",name); 那麼JSP直接可以EL這樣寫:${sessionScope.name} 獲取這個值,這里的name是後台封裝的鍵的名,不是後面變數name的名。
『貳』 java web二進制流的圖片如何用response返回給前台
FileOutputStream很明顯你是用的文件流返回的
// 以byte流的方式打開文件 d:1.gif
FileInputStream hFile = new FileInputStream(url); //得到文件大小
int i=hFile.available();
byte data[]=new byte[i]; //讀數據
hFile.read(data); //得到向客戶端輸出二進制數據的對象
OutputStream toClient=response.getOutputStream(); //輸出數據
toClient.write(data);
toClient.flush();
toClient.close();
hFile.close();
(2)javaweb返回上一頁面擴展閱讀:
如果是純文本使用字元流,如果二進制文件,使用位元組流。
如果只是得到信息,原樣不動,不進行修改操作,例如文件上傳和下載,這時就使用位元組流。文件上傳:在伺服器端把瀏覽器端信息提取出來。文件下載:把伺服器端內容寫給瀏覽器端。
如果要操作的是自定義信息,這時使用字元流。
通過response獲取的輸出流它的真實類型是什麼?
ServletOutputStream response.getOutputStream();
PrintWriter response.getWriter();
ServletOutputStream由於使用位元組流多數是原樣復制,所以使用write方法,而不是print方法。
PrintWriter:列印流,兩個特點:1.可以設置自動刷新。2.可以將信息原樣輸出。
『叄』 JavaWeb頁面跳轉
框架集肯定沒問題,你這個網頁只要頁碼大小固定,框架實現很合適<frameset><frame></frame></frameset>
『肆』 javaweb 接受URL請求時 返回系統中一個靜態頁面
1.把文件復制到你的webapps中,顯示跳轉到這個頁面
2.在jsp或servlet中用PrintWriter對象把html文件中的內容輸出到客戶端,即瀏覽器
『伍』 如何實現Java Web項目中頁面的服務端跳轉
寫一個啟動程序引導類,在這個類里先啟動登錄窗口(JDialog),然後由登錄類判斷用戶輸入信息版是否正權確,如果正確就dispose該登錄類,程序會轉回到引導類,引導類啟動JFrame.否則退出/重輸入信息,整個程序結束
代碼如下:
ublic void actionPerformed(ActionEvent e){
if(e.getSource() == okButton){
//判斷登錄名或者密碼是否正確
//如果正確則跳轉
this.setVisible(false);
//主界面顯示,如
MainFrame mf = new MainFrame();
mf.setVisible(true);
//不正確,則提示錯誤信息
}
}
『陸』 java web系統安全退出後點擊瀏覽器後退按鈕還會跳轉到剛才瀏覽頁面
javascript+cookie 點擊安全退出之來後在cookie裡面自加一個值唄,然後別的頁面裡面判斷cookie裡面有沒有這個,有的話,它訪問任何頁面都執行history.go(-1);但是你安全退出的頁面不能判斷,不然就會一直後退後退。此外部分瀏覽器在特定情況下後退的時候,後退頁面的腳本是不執行的,也就是說會無法跳轉到剛才頁面。比如chrome之類的瀏覽器會根據緩存,不執行部分腳本。所以你要讓整站都不緩存,強制刷新。
當然最好的方法還是清空session然後普通頁面判斷session的內容再決定是繼續輸出還是返回到首頁還是返回到前一頁。。。
『柒』 java web中點擊一個類似按鈕的怎麼關閉當前的這個頁面而返回到前一個頁面(在不出現新頁面的情況下)
你是說相當於點了瀏覽器裡面那個後退按鍵?javascript有這個函數的,如果讓伺服器記住你上次訪問了哪一個鏈接,不太行得通的,假如你上次點的功能是添加用戶呢,那麼那個後退按鍵一點又添加一個用戶了。事實上你只不過想回到剛才那個頁面。
『捌』 Javaweb的跳轉問題
通俗來說,form表單是寫在前端頁面(如html、jsp)上的,<form>有一個『action』的參數,這里需要填寫目標地址,如果不填寫的話客戶端是不知道往哪裡發送信息的,因此form是由客戶端主動發送給伺服器(具體的地址就是action索要填的值)的。這屬於客戶端向伺服器發起請求,代碼表現為:
<form
action='10086.jsp' method='get' >
…………
</form>
就像你打10086,你問問題(提交表單),客服(伺服器)會根據你的問題(form)反饋答案。同理,正常來說,後台接收到前端發來的信息後,會進行一系列操作,最後發送結果回去。
====分割線====
而轉發和重定向的代碼是寫在後台代碼里的,因為並不是所有的業務都由同一個後台頁面處理(例如統一管理平台),前端form填的是頁面A,但實際上頁面A在接收到form後並不進行處理,而是通過轉發或者重定向的方式,發送給頁面B,頁面B處理後會把結果發送給A,然後A再反饋給前端。因此,這屬於伺服器向伺服器發起請求
轉發的代碼是request.getrequestdispatcher (10086-2.jsp).forward(request,response),特點是url不會變,客戶端無法判斷是form表單的後台頁面在處理還是別的頁面在處理(你在瀏覽器上是無法知道10086-2.jsp這個頁面的存在)。就像10086客戶有時候會讓你稍等,等待期間你是不知道他是在敲電腦還是找外援尋求答案。
重定向的代碼是response.sendRedirect("10086-2.jsp"),特點是url會變。瀏覽器的地址欄會明顯看到地址發生改變。就像10086客服告訴你該問題不是他負責的范圍,然後幫你轉接到其他相應的客戶。
至於怎麼判斷啥時候使用轉發,啥時候使用重定向,還請理解jsp的四大作用域之後再回頭思考。
『玖』 幾種方式實現Javaweb頁面跳轉
請求轉發 request.getRequestDispatcher(url).forward(request,response)
一種伺服器的行為,客戶端只有一次請求,伺服器端轉發後會將請求對象保版存,地址欄中的URL地址不會改權變,得到響應後伺服器端再將響應發給客戶端;
重定向 response.sendRedirect(url)
一種客戶端行為,從本質上講等同於兩次請求,前一次請求對象不會保存,地址欄的URL地址會改變。