org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest異常解決
阿新 • • 發佈:2020-12-13
JSP四大域物件
- pageContext
當前jsp頁面範圍內有效 - request
一次請求內有效 - session
一次會話範圍內有效,也就是開啟瀏覽器訪問伺服器到關閉瀏覽器 - application
整個Web工程內有效
作用範圍
建立一個four.jsp工程
<!-- 四大域的作用範圍 -->
<%
pageContext.setAttribute("key", "pageContext");
request.setAttribute("key", "request");
session. setAttribute("key", "session");
application.setAttribute("key", "application");
%>
// 1. pageContext 當前jsp頁面範圍內有效
pageContext -> <%=pageContext.getAttribute("key") %><br/>
// 2. request 一次請求內有效
request -> <%=request.getAttribute ("key") %><br/>
// 3. session 一次會話範圍內有效(開啟瀏覽器訪問伺服器,直到瀏覽器關閉)
session -> <%=session.getAttribute("key") %><br/>
// 4. application 整個web工程內有效 -->
application -> <%=application.getAttribute("key") %>
當前JSP啟動之後
讓pageContext失效,也就是離開當前頁面,那我們只需要把這次請求轉發到另外一個頁面。
// 轉發請求
<% request.getRequestDispatcher("/jspinit/fourDemo.jsp").forward(request, response); %>
然後再建立一個fourDemo.jsp工程
//1. pageContext 當前jsp頁面範圍內有效
pageContext -> <%=pageContext.getAttribute("key") %><br/>
//2. request 一次請求內有效
request -> <%=request.getAttribute("key") %><br/>
//3.session 一次會話範圍內有效
session -> <%=session.getAttribute("key") %><br/>
//4. application 整個web工程內有效
application -> <%=application.getAttribute("key") %>
請求轉發之後,已經轉向了另外一個頁面,也就代表著pageContext的值已經失效,結果為null;(因為由four.jsp轉發至fourDemo.jsp屬於一次請求,所以request的值還有效)
request的作用範圍是一次請求有效,我們直接訪問fourDemo.jsp時,已經不屬於一次請求,測試發現,request對應的key值已經為null。
session的作用範圍是一次會話範圍內有效,而我們只需要關閉瀏覽器,再啟動就能得到結果
application的作用範圍是整個web工程,所以想讓applicable失效,我們需要重啟伺服器,再直接訪問fourDemo.jsp,就能發現
所以它們的作用範圍關係
pageContext < requset < session < application