JSP動態網頁技術及服務器獲取根目錄路徑問題

1、JSP運行原理java

    服務器第一次請求jsp頁面時,JSP被翻譯成Servlet文件。此Servlet文件放在 D:\\Tomcat7.0\work\Catalina\localhost\Web項目 中。瀏覽器

    JSP的工做原理:JSP被翻譯轉化成Servlet,JSP中的HTML代碼翻譯後放在Servlet中的Service方法中。服務器

 

2、JSP的三種指令:session

    <%@Page    %>     <%@include    %>     <%@taglib    %>                     app

 

HttpServletRequest request;
HttpSession session = request.getSession();
ServletContext application = session.getServletContext();

request.setAttribute("","");   // 在一次請求類有效
session.setAttribute("","");   // 在整個瀏覽器中有效,session會話瀏覽器進程中有效。直到瀏覽器關閉。application.setAttribute("","");   // Tomcat服務器一直運行,則就有效。


// 如下三者 返回的都是 Object 類型,須要強制轉換
request.getAttribute("");
session.getAttribute("");
application.getAttribute("");

3、JSP的9大內置對象:jsp

        JSP頁面已經定義好的,能夠直接使用的對象。ide

(1) 與輸入輸出有關的 : out、request、response.net

(2) 與上下文有關的: session、application、pageContext翻譯

(3) 與Servlet有關的: config、pagecode

(4) 與error 有關的: exception

 

4、JSP的做用域

pageContext  :做用域是page,只在當前JSP頁面內有效。

request : 做用域是 一次請求, 只在請求週期有效,只能是 轉發

session :做用域是一次會話 ,只在 瀏覽器開啓到關閉 期間有用。

application: 做用域是服務器運行期間, 不管瀏覽器是否關閉,application對象都在主機上,只要服務器一直運行就有效。

 

 5、請求路徑

./ 表明當前文件夾            ../ 表明上一層目錄(只能用一次)

請求路徑前面加上: ${pageContext.request.contextPath}/文件夾/......(jsp、.action).

 

6、後臺獲取 項目 根目錄 路徑

// 一、Servlet:
String path = getServletContext().getRealPath("/videos/newvideos");


// 二、Struts2:
String path = ServletActionContext.getServletContext().getRealPath("/videos/download");


// 三、SpringMVC:
String path = request.getSession().getServletContext().getRealPath("/videos/download");
相關文章
相關標籤/搜索