99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Java中轉發與重定向的區別

本篇內容介紹了“Java中轉發與重定向的區別”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創新互聯公司長期為上1000+客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為義烏企業提供專業的成都做網站、成都網站建設,義烏網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。

 轉發與重定向簡介

轉發和重定向都是實現頁面跳轉

也就是說,當我們訪問一個 Servlet 的時候 ,Servlet 幫我們跳轉到另一個界面。

轉發與重定向的區別

  • 實現轉發調用的是 HttpServletRequest 對象中的方法

  • 實現重定向調用的是 HttpServletResponse 對象中的方法

    • 轉發時瀏覽器中的 url 地址不會發生改變

    • 重定向時瀏覽器中的 url 地址會發生改變

  • 轉發時瀏覽器只請求一次服務器

  • 重定向時瀏覽器請求兩次服務器

    • 轉發能使用 request 帶數據到跳轉的頁面

    • 重定向能使用 ServletContext 帶數據到跳轉的頁面

代碼演示轉發和重定向

package servlet;   import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;   @WebServlet("/login") public class ServletDemo extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //獲取表單提交過來的數據 //getParameter()方法可以獲取請求的參數信息 String name = req.getParameter("name"); String password = req.getParameter("password");   //打印獲取到的參數信息 System.out.println("name:"+name); System.out.println("password:"+password);   //如果name=admin,password=123,則跳轉到succee.jsp,否則跳轉到fail.jsp if("admin".equals(name)&&"123".equals(password)){ //通過轉發實現跳轉 req.getRequestDispatcher("/success.jsp").forward(req,resp); }else { //通過重定向實現跳轉 resp.sendRedirect("/fail.jsp"); } }   @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp);   } }

Java中轉發與重定向的區別

Java中轉發與重定向的區別

Java中轉發與重定向的區別

Java中轉發與重定向的區別

JSP代碼

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登錄</title> </head> <body> <form action="/login"> <table align="center"> <tr> <td>賬號:</td> <td><input type="text" name="name"></td> </tr> <tr> <td>密碼:</td> <td><input type="text" name="password"></td> </tr> <tr> <td><input type="submit" value="登錄"></td> <td><input type="reset" value="重置"></td> </tr> </table> </form> </body> </html>

轉發和重定向如何帶數據到某個頁面

Java中轉發與重定向的區別

package servlet; import javax.servlet.ServletContext;  import javax.servlet.ServletException;  import javax.servlet.annotation.WebServlet;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import java.io.IOException; @WebServlet("/login")  public class ServletDemo extends HttpServlet {  @Override  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //通過轉發帶數據  req.setAttribute("name","張三");  req.getRequestDispatcher("/send.jsp").forward(req,resp); } @Override  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  doGet(req, resp); }  }

send.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>轉發和重定向傳代數據練習</title> </head> <body> <% //1、接收轉發傳代的數據 String name = (String) request.getAttribute("name"); out.println("轉發傳代的數據:"+name);   %>   </body> </html>

Java中轉發與重定向的區別

package servlet; import javax.servlet.ServletContext;  import javax.servlet.ServletException;  import javax.servlet.annotation.WebServlet;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import java.io.IOException; @WebServlet("/login")  public class ServletDemo extends HttpServlet {  @Override  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {    //通過重定向帶數據  ServletContext servletContext = this.getServletContext();  servletContext.setAttribute("name","王二麻子");  resp.sendRedirect("/send2.jsp"); } @Override  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  doGet(req, resp); }  }

send2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>轉發和重定向傳代數據練習</title> </head> <body> <% //1、接收重定向傳代的數據 String name1 = (String)application.getAttribute("name"); out.println("重定向傳代的數據:"+name1); %> </body> </html>

練習

Java中轉發與重定向的區別

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="CountServlet" method="post"> <h4>加法計算器</h4> 加數1:<input type="number" name="one"> 加數2:<input type="number" name="two"> <input type="submit" value="計算"> </form> </body> </html>

count.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 計算結果:<%=request.getAttribute("count")%> <!--計算結果:<%=application.getAttribute("count")%>--> </body> </html>

Servlet

package servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/CountServlet") public class CountServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String one=request.getParameter("one"); int o=Integer.parseInt(one);//強制轉換,將String類型的數據轉換成int類型 String two=request.getParameter("two"); int t=Integer.parseInt(two);//強制轉換,將String類型的數據轉換成int類型 System.out.println(one+" "+two); int c=o+t; String co=String.valueOf(c);//將int類型的數據轉換成String類型 //轉發,可以攜帶數據 request.setAttribute("count",co); request.getRequestDispatcher("count.jsp").forward(request,response); //用于存放數據 // ServletContext s=this.getServletContext(); // s.setAttribute("count",co); //重定向只能依靠ServletContext獲取數據 // response.sendRedirect("count.jsp"); System.out.println(co); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } }

“Java中轉發與重定向的區別”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

本文名稱:Java中轉發與重定向的區別
新聞來源:http://www.yijiale78.com/article8/jcsgop.html

成都網站建設公司_創新互聯,為您提供用戶體驗標簽優化企業網站制作網站制作Google定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營