1. servlet怎麼跳轉到jsp
JSP跳轉到Servlet:
1.<jsp:forward page="url"></jsp:forward>注意,這里的url不能直接寫你的servlet名稱,而要填寫web.xml里該servlet的url-pattern,即「/差物陪xxxServlet"形式螞喊。有斜杠,斜杠,杠。另外,這種方式直接跳走了,在servlet里寫上跳轉回原頁面的語句,就會報錯java.io.IOException: Stream closed。
2.<jsp:include page="url"><jsp:param name="xx" value="虛蠢xx"/></jsp:include>同上,url有斜杠。這種方式的好處是servlet里不用寫跳轉語句,會自動回到原來頁面,因為這是一個動態包含文件命令。另外,該方式還能傳遞多個參數,你懂的。
3.藉助javascript.如<script type="text/javascript">window.location="xxxServlet"</script>
Servlet跳轉到JSP
1.response.sendRedirect("URL")跳轉後瀏覽器地址欄變化。可以將頁面跳轉到任何頁面,不一定局限於本web應用中。
這種方式要傳值出去的話,只能在url中帶parameter或者放在session中,無法使用request.setAttribute來傳遞。
2.request.getRequestDispatcher("/a.jsp")。dispatcher .forward(request, response);
Servlet頁面跳轉的路徑是相對路徑。forward方式只能跳轉到本web應用中的頁面上。跳轉後瀏覽器地址欄不會變化。
使用這種方式跳轉,傳值可以使用三種方法:url中帶parameter,session,request.setAttribute
2. javaweb中,怎樣在一個Servlet中傳數據給另一個Servlet
在一個servlet裡面
request.setAttribute("參數標識符","參數值");
在另一個servlet裡面request.getAttribute("參數標識符");
可以使用這個來實現servlet之間的跳轉
request.getRequestDispatcher("/servlet/secondServlet").forword(request,response);
以上只是其中一種,其實方式還有很多,看你想用哪個了
方法二:使用慎升鬧session傳值
傳值:HttpSessionsession=request.getSession();
session.setAttribute("bbbb",1111111111);
取值:session.getAttribute("bbbb");
方法三:跳轉寬罩的時候超笑伍鏈接直接傳值
傳值:RequestDispatcherrd=application.getRequestDispatcher("/queryResult.jsp?a="+000);
取值:request.getParameter("a");
綜合對比:
首先,getParameter()只能傳遞字元串,而setAttribute()/getAttribute()還可以傳遞對象
其次,getParameter方法傳遞的數據,會從Web客戶端傳到Web伺服器端,代表HTTP請求數據。而setAttribute()/getAttribute()只能是頁面發送到後台或者Web客戶端傳到Web伺服器端
3. servlet怎麼跳轉回本頁面
html頁面跳轉到servlet是通過提交form的叢旅猜action到servlet的一個處理入口實現的滲型。
1、頁面html代碼:
<html>
<body>
<form ACTION="./post2" METHOD="POST">
<input name="name" type="text" id="name"/>
<input name="send"鎮液 type="submit" value="send"/>
</form>
</body>
<html>
2、在servlet中定義的處理post請求的方法:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;
public class post2 extends HttpServlet{
protected void doDo(HttpServletRequest request,HttpServletResponse response)
throws IOException{
獲取form表單參數:
String name = request.getParameter("name");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML><BODY>");
out.println("<H2>hello "+name+"</H2>");
out.println("<BR><BR>");
out.println("info:");
4. Java Servlet 登陸失敗後也往正確頁面跳轉
flag=pstmt.execute();
rs=pstmt.executeQuery();
----------------------------------------------
不知道為什麼你的pstmt要執行兩次,並把第一次執行的結果賦給了flag,但第一次得到的結果僅僅是該SQL是否順利執行,而不是查詢結果是否存在數據,結果當然是true,這個賦值不知道枝仿有什麼意義?
另外:
while(rs.next()){
String s=rs.getString(1);
if(s!=null||s!="")flag=true;
else flag=false;
}
----------------------------------------
這里很明顯存在問題,如果不存在用戶名為x密碼為y的帳號,明顯的查詢結果就是0行,也就拿悶是空結果集,那麼rs.next()就是false,也就是直接跳出while(rs.next()){...}了,加上之前已經把flag賦值為true了,所以你的猛敏纖jdbc.login(username, password)得到的值永遠是true,因此永遠不會跳到"failed.jsp",明白了嗎?
5. javaweb的Servle中t帶參跳轉問題
servlet中2種跳轉方式,1是轉發,就是你用的,實際上將數據轉發到頁面上,還是屬於上一個請求,2是備隱重定向,sendRedirect,這個相當於重新發起一次請求,網頁的url地址欄會發生改變,但是這樣的話因為這是新的請吵數求,所以你的requset.setAttribute()(同一個請求才可以發送數據)將仿碰廳無法使用,因此參數只能跟在地址欄參數中
6. 為什麼要在servlet中進行頁面跳轉和mvc什麼關系為什麼要進行頁面和代碼的分離,有什麼優點
一、MVC是一個基於java web 開發的基礎模型,它將整個代碼文件分為控制、模型以及頁面三部分。
二、它的核心思想是:使項目布局類似與靜態頁面一樣,將邏輯處理,盡可能放在.java(servlet)中處理,頁面部分放到html與jsp處理,模型層負責建立一個他們之間的關系(類似於C中的頭文件)。
三、之所弊運以這么做,是因為:
1、我們的jsp頁面既可以處理業務,也可以處理畫面——「這是因為在編譯後,jsp文件會被敬謹轉化成一個servlet文件」。如果不使用MVC,會使單個jsp文件很龐大,這樣既不便於維護,同時也會影響執行效率。
2、對於大的項目而言,整個項目需要由多人共同完成,使用MVC後,大家的租稿梁編碼風格就統一了,對項目的整合有很大的幫助,減少因為編碼風格導致的不必要的麻煩。
7. java servlet中的跳轉頁面的問題
客戶端跳轉
// 使用response對象的sendRedirect實現客戶端跳轉
// servlet的doGet方法
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException {
PrintWriter out = res.getWriter();
out.println("Hello world!"搭孫衡);
res.sendRedirect("test.do"); // servlet實現跳轉(客凱晌戶端跳轉)
}
客戶端跳轉不能像目標頁面傳遞參數(如果使用該方法非要向目標頁知做面傳遞參數的話,可以使用session對象將參數值記錄
伺服器端跳轉
// 使用RequestDispatcher介面實現伺服器端跳轉,且向目標頁面傳遞參數
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,
IOException{
PrintWriter out = resp.getWriter();
/*
* 在servlet中實現伺服器端跳轉,並向跳轉頁面傳遞參數
*/
req.setAttribute("name", "haiyun"); // 為request對象添加參數
RequestDispatcher dispatcher = req.getRequestDispatcher("test-04.jsp"); // 使用req對象獲取RequestDispatcher對象
dispatcher.forward(req, resp); // 使用RequestDispatcher對象在伺服器端向目的路徑跳轉
8. web中的跳轉語句 java中的跳轉語句
在JSP中,跳轉頁面有兩種方式:1.forward跳轉: 2.response跳轉:response.sendRedirect("跳轉頁面地址");兩種跳轉的區別如下:1.forward跳轉:a.伺服器端跳轉,地址欄不改變;b.執行到跳轉語句後馬上無條件跳轉,之後的代碼不再執行(跳轉之前一定要釋放全部資源);c.request設置的屬性在跳轉後的頁面仍可以使用;d.使用 傳遞參數。裂嘩岩2.response跳轉:a.客戶端跳轉,地址欄改變;b.所有代碼執行完畢後跳轉;c.跳轉後的頁面不能使用上一個頁面的request屬性;d.使用地址重寫傳遞參數(response.sendRedirect("URL?參數名=參數值"))。
一、跳轉到新頁面,並且是在新窗口中打開頁面:
function openHtml
{
//do someghing here...
window.open("xxxx.");
}
window是一個javascript對象,可以用它的open方法,需要注意的是,如果這個頁面不是一相相對路徑,那麼要加「://」,比如:
function openHtml
{
window.open("[]");
}
二、在本頁面窗口中跳轉:
function totest2
{
window.location.assign("test2.");
}
如果直接使用location.assgin也可以,但是window.location.assign更合理一些,當前窗口的location對象的assign方法。
另外,location對象還有一個方法replace也可以做頁面跳轉,它跟assign方法的區別在於:
replace 方法不會在 History 對象中生成一個新的紀錄。當使用該方法時,新的 URL 將覆蓋 History 對象中的當前紀錄。
頁面跳轉如果不蘆禪是在程序裡面的話都是通過a標簽鏈接跳轉的,而且a標簽的跳轉方式有
_blank是最常見的鏈接方式,表示超鏈接的目標地址在新建窗口中打開;
_self表示「相同窗口」。點擊鏈接後,地址欄不變;
_top表示整頁窗口;
_parent表示父窗口。
response.sendRedirect
重定向本質是兩次請求,附帶的參數會丟失,但是看你程序是從session里取數據,所以在本次會話內,你的數據有效,questions能正常取到數據,下面顯示會正常。如果是request 作用域內,就會取不到。
//騰訊網的適配代碼
//其他的適配代碼(後綴名為.js肆御並引用至網頁)
JSP跳轉到Servlet:
1. 注意,這里的url不能直接寫你的servlet名稱,而要填寫web.xml里該servlet的url-pattern,即「/xxxServlet"形式。有斜杠,斜杠,杠。另外,這種方式直接跳走了,在servlet里寫上跳轉回原頁面的語句,就會報錯java.io.IOException: Stream closed。
2. 同上,url有斜杠。這種方式的好處是servlet里不用寫跳轉語句,會自動回到原來頁面,因為這是一個動態包含文件命令。另外,該方式還能傳遞多個參數,你懂的。
3.藉助javascript.如
Servlet跳轉到JSP
1.response.sendRedirect("URL")跳轉後瀏覽器地址欄變化。可以將頁面跳轉到任何頁面,不一定局限於本web應用中。
這種方式要傳值出去的話,只能在url中帶parameter或者放在session中,無法使用request.setAttribute來傳遞。
2.request.getRequestDispatcher("/a.jsp")。dispatcher .forward(request, response);
Servlet頁面跳轉的路徑是相對路徑。forward方式只能跳轉到本web應用中的頁面上。跳轉後瀏覽器地址欄不會變化。
使用這種方式跳轉,傳值可以使用三種方法:url中帶parameter,session,request.setAttribute
你可以在jsp頁面使用超鏈接標簽 例如 點擊我跳轉
也可以在後台servlet中使用 重定向 例如 response.sendRedirect("xxx.jsp");
也可以使用轉發 例如 request.getRequestDispatcher("xxx.jsp").forward(request.response);
標簽:作文經典 上一篇:昆明的詩句 寫昆明的詩句 下一篇:偶爾的近義詞反義詞 偶爾的反義詞9. java 一個servlet跳向另一個servlet該如何跳
1樓誤導
怎麼能這樣明祥用升槐知???
servlet跳轉有兩個方法:一個吵消是重定向另一個是內部轉發,重定向的話用response.sendRedirect("另一個Servlet的請求url");,內部轉發的話就用request.RequestDispatcher("另一個Servlet的請求url").forward(request,response);
建議用內部轉發!
10. Java Web編程技術作業求助,十分感謝
Java Servlet中使用ArrayList對和殲象存儲查詢結果並跳轉到另外一個網頁:
在上面的示例中,喚隱沖使用了JSTL的forEach標簽替代了傳統的Java代攜尺碼,從而簡化了頁面的邏輯和代碼結構。同時,使用了JSTL的c:out標簽對查詢結果進行輸出,以避免可能的XSS攻擊。