日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

路径知识

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 路径知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在用servlet+jsp開發中,不管是服務器端跳轉、客戶端跳轉還是表單請求路徑,在servlet和jsp中路徑的表達是不同的。

聲明:?

1、項目名為zzzz,端口號改為默認(80)

2? <servlet-mapping>
??? <servlet-name>X</servlet-name>
??? <url-pattern>/servlet/X</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>n</servlet-name>
??? <url-pattern>/servlet/n</url-pattern>
? </servlet-mapping>

3、jsp頁面全部在WebRoot(根)目錄下

4、絕對路徑指的是和當前頁(jsp或者servlet)相對位置,例如下列表單請求A:中的相對路徑表示index1.jsp和index.jsp在同一個(物理)位置

一、在jsp中

1、表單請求

A:在index.jsp請求index1.jsp

???? ?用相對路徑:<form action="index1.jsp">

???? ?用絕對路徑:<form action="/zzzz/index1.jsp">

B:在index.jsp請求servlet

????? 用相對路徑:<form action="servlet/n">

????? 用絕對路徑:<form action="/zzzz/servlet/n">

?

2、客戶端跳轉

A:超鏈接

????? 相對路徑:<a href="index1.jsp">跳轉</a>或者<a href="servlet/n">跳轉</a>

????? 絕對路徑:<a href="/zzzz/index1.jsp">跳轉</a>或者<a href="/zzzz/servlet/n">跳轉</a>

B:sendRedirect方法

????? 相對路徑:response.sendRedirect("index1.jsp")或者response.sendRedirect("servlet/n");

??? ? 絕對路徑:response.sendRedirect("/zzzz/index1.jsp")或者response.sendRedirect("/zzzz/servlet/n");

3、服務器端跳轉

???? 相對路徑:request.getRequestDispatcher("index1.jsp").forward(request,response);

?????????????????????? request.getRequestDispatcher("servlet/n").forward(request,response);

???? 絕對路徑:request.getRequestDispatcher("/index1.jsp").forward(request,response)注意:不是request.getRequestDispatcher("/zzzz/index1.jsp").forward(request,response);

???????????????????????request.getRequestDispatcher("/servlet/n").forward(request,response);???

???????????????????????this.getServletContext().getRequestDispatcher("/index1.jsp").forward(request,response);

總結:除了服務器端跳轉外,相對路徑比絕對路徑多了/zzzz

?

二、在servlet中

1、客戶端跳轉

A:超鏈接

????? 相對路徑:PrintWriter out=response.getWriter();
??????????????????????? out.println("<a href='../index.jsp'>跳轉</a>");

?????????????????????????或者

??????????????????????? PrintWriter out=response.getWriter();
??????????????????????? out.println("<a href='X'>跳轉</a>");

????? 絕對路徑:PrintWriter out=response.getWriter();
??????????????????????? out.println("<a href='/zzzz/index.jsp'>跳轉</a>");

?????????????????????????或者

?????????????????????? PrintWriter out=response.getWriter();
?????????????????????? out.println("<a href='/zzzz/servlet/X'>跳轉</a>");

B:sendRedirect方法

????? 相對路徑:response.sendRedirect("../index1.jsp")或者response.sendRedirect("X");

????? 絕對路徑:response.sendRedirect("/zzzz/index1.jsp")或者response.sendRedirect("/zzzz/servlet/X");

2、服務器端跳轉

???? 相對路徑:request.getRequestDispatcher("../index.jsp").forward(request,response);

???????????????????????request.getRequestDispatcher("X").forward(request,response);

?????????????????????? request.getRequestDispatcher("./X").forward(request,response);

???? 絕對路徑:request.getRequestDispatcher("/index.jsp").forward(request,response)注意:(不是request.getRequestDispatcher("/zzzz/index.jsp").forward(request,response);)

?????????????????????? request.getRequestDispatcher("/servlet/X").forward(request,response);

??????????????????? ? this.getServletContext().getRequestDispatcher("/index.jsp").forward(request,response);

?

總結:

??1、 絕對路徑

????????????? 無論是在jsp亦或在servlet中,除了服務器端跳轉的絕對路徑不用寫上/zzzz(項目名)外都是正常的絕對路徑

? 2、相對路徑

????????????? 無論是jsp還是servlet中,都是正常的相對路徑

3、有意思的是,在jsp中的服務器端跳轉時,路徑index1.jsp,./index1.jsp,/index1.jsp的效果是一樣,前兩個是相對路徑,第三個是絕對路徑

4、注意,這裏所說的服務器端跳轉不僅僅是用request.getRequestDispatcher().forward()方法,也可以是<jsp:forward? page=""></jsp:forward>

?

轉載于:https://www.cnblogs.com/jianming-chan/p/3537622.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的路径知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。