❶ 在java web開發中,凡是能實現頁面跳轉的方法有哪些具體列出這些方法的實現語句
所有的跳轉都可以分為兩種:第一種叫做 「重定向」,第二種叫做 「轉發」。重定向使用的response來實現的,具體的實現方式為:response.sendRedirect("url");response.getWrite.print("<script>location='url'</script>");
轉發則使用request來實現,實現方式為:request.getRequestDispatcher("url").forward(request,respones);
區別主要為,重定向基於客戶端瀏覽器,轉發是基於站內……不懂追問
❷ java程序中如何實現單擊頁面a中的按鈕跳轉到頁面b
java程序中的jsp頁面點擊按鈕跳轉到頁面b的方式如下:
1.jsp頁面的方式如下:<a href="....b.jsp">跳轉</a>
response.sendRedirect("b.jsp")
<jsp:forward page="b.jsp"/>
2.在swing里,給專button加一個監聽器,然後在屬監聽事件中打開另一個頁面。
在jsp或是靜態網頁里,onclick=「JavaScript:window.location=』xx『」
❸ java 如何實現頁面之間跳轉瀏覽器地址欄URL不變
使用<jsp:forward page="" />
此語句前不允許有out.flush(),如果有,會有異常:
跳轉後瀏覽器地址欄不變,但是只能跳到當前主機下
此語句後面的語句執行完成後才會跳轉
❹ 怎麼在java窗口菜單程序中跳轉到另一個頁面
import java.awt.*;
import java.awt.event.*;
public class report extends Frame implements ActionListener
{
Panel p=new Panel();
Panel test = new Panel();//聲名2個新的面版
Panel test2 =new Panel();
Button btn=new Button("退出");
Label label1 = new Label("This is test panel");
Label label2 = new Label("This is test2 panel");
MenuBar mb=new MenuBar();
Menu m1=new Menu("報表統計");
MenuItem day=new MenuItem("日報表");
MenuItem month=new MenuItem("月報表");
report()
{
super("report");
setSize(350,200);
add("South",p);
p.add(btn);
btn.addActionListener(this);
test.setVisible(false);//設置test,test2的默認為不顯示
test2.setVisible(false);
test.add(label1);
test2.add(label2);
m1.add(day);
m1.add(month);
day.addActionListener(this);
month.addActionListener(this);
mb.add(m1);
setMenuBar(mb);
show();
}
public static void main(String args[])
{
new report();
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand()=="日報表")
{
p.setVisible(false);
add("South",test);
test2.setVisible(false);
test.setVisible(true);//更改test面版為顯示
test.setBackground(Color.CYAN);//設置面板顏色
test.setSize(400,400);
}
else if (e.getActionCommand()=="月報表")
{
p.setVisible(false);
test.setVisible(false);
add("South",test2);
test2.setSize(400,400);
test2.setVisible(true);
test2.setBackground(Color.RED);
}
}
}
❺ 怎麼用java代碼控制html頁面跳轉
jsp中通過後台servlet是可以跳轉頁面的。 1、客戶端跳轉 // 使用response對象的sendRedirect實現客戶端跳轉 // servlet的doGet方法 public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException {怎麼用java代碼控制html頁面跳轉
❻ java文件里如何寫可讓頁面跳轉http://www.baidu.com
a頁面代碼 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> page A </TITLE> <script language="javascript"> function newWin(){ var str = window.showModalDialog("pageB.html",null,"dialogWidth=400px;dialogHeight=300px"); if (typeof(str) == "undefined") { alert("沒有傳回值來"); }else{ document.getElementById("mytext").value=str; } } </script> </HEAD> <BODY> <input type="text" id="mytext"> <input type="button" value="button" onclick="newWin();"> </BODY> </HTML> b頁面代碼 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Page B </TITLE> <script language="javascript"> function colseWin(){ var returnValue = document.getElementById("mytext").value.trim; window.returnValue=returnValue; window.close(); } </script> </HEAD> <BODY> <input type="text" id="mytext"> <input type="button" value="保存並關閉" onclick="colseWin();"> </BODY> </HTML> 把兩個文件保存到同級目錄下就可以了. 檢舉 回答人的補充 2009-09-10 23:01 java五種JSP頁面跳轉方法詳解 1. RequestDispatcher.forward() 是在伺服器端起作用,當使用forward()時,Servlet engine傳遞HTTP請求從當前的Servlet or JSP到 另外一個Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此時form提交的所有信息在 b.jsp都可以獲得,參數自動傳遞. 但forward()無法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同時forward()無法在後面帶參數傳遞,比如servlet?name=frank,這樣不行,可以程序內通過response.setAttribute("name",name)來傳至下一個 頁面。 重定向後瀏覽器地址欄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中使用,不在jsp中使用。 2. response.sendRedirect() 是在用戶的瀏覽器端工作,sendRedirect()可以帶參數傳遞,比如servlet?name=frank傳至下個頁面,同時它可以重定向至不同的主機上,sendRedirect()可以重定向有frame.的jsp文件. 重定向後在瀏覽器地址欄上會出現重定向頁面的URL 例:在servlet中重定向 public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/html; charset=gb2312"); response.sendRedirect("/index.jsp"); } 由於response是jsp頁面中的隱含對象,故在jsp頁面中可以用response.sendRedirect()直接實現重定位。 注意: (1) 使用response.sendRedirect時,前面不能有HTML輸出; 這並不是絕對的,不能有HTML輸出其實是指不能有HTML被送到了瀏覽器。事實上現在的server都有cache機制,一般在8K(我是說 JSP SERVER),這就意味著,除非你關閉了cache,或者你使用了out.flush()強制刷新,那麼在使用sendRedirect之前, 有少量的HTML輸出也是允許的。 (2) response.sendRedirect之後,應該緊跟一句return。 我們已經知道response.sendRedirect是通過瀏覽器來做轉向的,所以只有在頁面處理完成後,才會有實際的動作。既然你已經要做轉向了,那麼後的輸出還有什麼意義呢?而且有可能會因為後面的輸出導致轉向失敗。 比較: (1) Dispatcher.forward()是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向後的地址; (2) response.sendRedirect()則是完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉後的鏈接地址。 前者更加高效,在前者可以滿足需要時,盡量使用RequestDispatcher.forward()方法。 註:在有些情況下,比如,需要跳轉到一個其它伺服器上的資源,則必須使用HttpServletResponse.sendRequest()方法。 3. <jsp:forward page="" /> 它的底層部分是由RequestDispatcher來實現的,因此它帶有RequestDispatcher.forward()方法的印記。 如果在之前有很多輸出,前面的輸出已使緩沖區滿,將自動輸出到客戶端,那麼該語句將不起作用,這一點應該特別注意。 另外要注意:它不能改變瀏覽器地址,刷新的話會導致重復提交 4. 修改HTTP header的Location屬性來重定向 通過設置直接修改地址欄來實現頁面的重定向。 jsp文件代碼如下: <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn = "/newpath/jsa.jsp"; response.setHeader("Location",newLocn); %> 5. JSP中實現在某頁面停留若干秒後,自動重定向到另一頁面 在html文件中,下面的代碼: <meta http-equiv="refresh" content="300; url=target.jsp"> 它的含義:在5分鍾之後正在瀏覽的頁面將會自動變為target.html這一頁。代碼中300為刷新的延遲時間,以秒為單位。targer.html為你想轉向的目標頁,若為本頁則為自動刷新本頁。 由上可知,可以通過setHeader來實現某頁面停留若干秒後,自動重定向到另一頁面。 關鍵代碼: String content=stayTime+";URL="+URL; response.setHeader("REFRESH",content); 檢舉 提問人的追問 2009-09-10 23:01 在java裡面寫 就是在class 不是在頁面上寫 檢舉 提問人的追問 2009-09-10 23:11 我要跳轉到另一個域名里 response.sendRedirect("這裡面可以寫 http://www..com ")嗎; 檢舉 回答人的補充 2009-09-10 23:19 那您要的是 通過點擊來跳轉還是通過內制時間來跳轉? 檢舉 回答人的補充 2009-09-10 23:37 這個頁面跳轉的好處在於不需要JS調用,直接在html文件頭里加入 <meta http-equiv="refresh[刷新-這里指定動作]" content="5[這里是時間];url=/article[這里是跳轉的URL]"> 注意框內的是注釋。 而用JS的方法則是這樣的: 在<body>內任意位置加上 〈SCRIPT LANGUAGE=javascript〉 〈!-- window.location=″/home/default.htm″ //--〉 〈/SCRIPT〉 第三種方法是像c一樣的使用include,如: 〈BODY〉 〈p〉准備調用文件〈/p〉 〈!--#include file= ″home/default.htm″--〉 〈p〉文件調用結束〈p〉 〈/BODY〉 ASP里可以用這個寫法: 〈%Response.Redirect ″/home/default.htm″%〉