Servlet路徑跳轉問題


Servlet中路徑跳轉(服務器端跳轉)JSP


  1. 相對路徑
         注意這里的相對含義,相對於誰而言
              經過多次試驗總結,servlet相對路徑跳轉相對於servlet配置的xml路徑(或servlet3.0注解路徑)
              如下:
   
   
   
           
  1. //XML文件
  2. <servlet-mapping>
  3. <servlet-name>RegServlet</servlet-name>
  4. <url-pattern>/servlet/RegServlet</url-pattern>
  5. </servlet-mapping>

    項目目錄:
                     
Servlet中相對路徑

   
   
   
           
  1. request.getRequestDispatcher("../userinfo.jsp").forward(request,response);
這里的servlet路徑配置在/servlet/RegServlet下(即根目錄下的setvlet/目錄下),則 ../ 目錄則倒回到根目錄下,而userInfo.jsp同樣位於根目錄下
    第二種情況:servlet3.0中的注解情況
   
   
   
           
  1. @WebServlet("/RegServlet") //新特性 訪問地址直接配置好了
同樣的項目目錄,則在servlet中訪問則需要如下修改:
   
   
   
           
  1. request.getRequestDispatcher("userinfo.jsp").forward(request, response); //相對路徑方式
解釋:因為系統注解的servlet配置在根目錄(‘/’意味着根目錄)下,則意味userInfo.jsp與servlet文件位於同一目錄下,可可以直接訪問。

2. 絕對路徑
         絕對路徑則相對而言簡單很多,
         這里注意一點,對照着上面的目錄圖,我們要理解到,服務器在解析路徑時,'src','WebRoot',這些文件夾其實都忽略了,這樣說或許不准確,但便於理解,也解釋說,則兩個目錄下的文件,都是在同一個根目錄下,
         如果訪問同一個Jsp頁面,這絕對路徑的表示方式如下:
   
   
   
           
  1. request.getRequestDispatcher("/userinfo.jsp").forward(request, response);// ‘/’表示根目錄 絕地路徑



Servlet中路徑跳轉(請求重定向跳轉)JSP


  •         請求重定向( response.sendRedirect () )跳轉多用下面的方式:
   
   
   
           
  1. response.sendRedirect(request.getContextPath()+"/userinfo.jsp"); //這里使用的是加上了上下文的絕對路徑
                解釋:服務器在解析絕對路徑時,比瀏覽器解析絕對路徑時,,多了一部分,這部分就是項目名,也就是,上下文環境
   或者使用相對路徑,這里的相對於與上面的相對是同一樣含義(servlet配置的訪問路徑,這里配置的是/RegSevlet),則相對路徑的表示方式為:
   
   
   
           
  1. response.sendRedirect("userinfo.jsp"); //這里使用的是相對路徑

              





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM