1. 為什麼可以通過Controller能訪問到WEB-INF下的jsp頁面
webinf裡面的內容不是不可以訪問了,而是不能直接url訪問了,要怎麼都不能訪問就沒意義了,所心以可以通過Controller來進行轉發的方式訪問。
2. 怎麼訪問web-inf下的jsp
首先,對於外部訪問來說,web-inf下的文件都是不可見的(即不能通過url獲得web-info下的任何文件),所以,直接訪問jsp是不可能的。這要從web-info文件夾的作用說起:
WEB-INF的存在以及其下的lib和classes目錄的作用都是jsp規定的,主要是系統運行的配置信息和環境,用來存儲服務端配置文件信息和在服務端運行的類文件,它下面的東西不允許客戶端直接訪問的,這是jsp環境的規定。
而我們通常是使用view層框架(如struts)來提供jsp服務,此時,我們可以將jsp文件放到web-info下避免客戶直接訪問到頁面,同時使用struts來進行jsp文件提取,並將編譯好的結果發送到客戶端。
3. 如何訪問webinf下的jsp
WEB-INF下的東西是禁止直接訪問的。如果這個頁面是你的,要想讓人訪問最好不要放在這個目錄下。如果一定放在那裡。你可以使用:
request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request,response);
所以你想直接添加一個鏈接那肯定是沒發過去的。你可以先跳到一個jsp,那個jsp里寫上上面的代碼就可以了。
4. 在web-inf文件夾下的jsp怎麼訪問
只能在sevlet(或者spring的control,struts的action,本質都是sevlet)中訪問
也就是只能通過java後台訪問,
這里web-inf下的內容是不對外開放的/安全的,不能通過url直接訪問。已避免非法人員通過url自己操作一些比較私密的文件信息。
5. 怎麼訪問webinf文件夾下面的文件的jsp
問WEB-INF目錄下的jsp的方法:
(1)方式一:
在main.jsp用
<a href="oa.do ">訪問oa的路徑</a>
或者
<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />
訪問。
(2)方式二:在action類中或者struts.xml中
如果main.jsp有很多處鏈接到WEB-INF目錄下的其它頁面.那就得有10個轉向Action。這個可以用DispatchAction類加參數專門處理轉向工作。
1 request.getRequestDispatcher("/WEB-INF /main.jsp").forward(request, response);
在struts-config文件中配置
<forward name="success" path="/WEB-INF/main.jsp" />
6. 如何直接訪問web-inf下的index.jsp
WEB-INF目錄下的jsp文件,在瀏覽器中是不能直接訪問的。(沒有訪問的許可權)
如果將jsp文件放入WEB-INF目錄下,將不能訪問。
比如在jsp頁面中直接寫
[html] view plain
<span style="font-size:18px;"><a href="/WEB-INF/content/index.jsp"></span>
那麼將不能訪問。
在struts中必須用action來實現頁面的跳轉,才能訪問WEB-INF裡面的jsp文件。
將上面的jsp頁面中的鏈接寫為:
[html] view plain
<span style="font-size:18px;"><a href=index.action>
</span>
7. jsp頁面放在web-inf目錄下怎麼訪問
web-inf下的頁面,只能在伺服器內部跳轉,可以在servlet中通過forwad,struts2或者springmvc直接return相應地址字元串就可以
8. 如何訪問WEB-INF文件夾下的jsp文件
WEB-INF目錄下的jsp文件,襲在瀏覽器中是不能直接訪問的。(沒有訪問的許可權)如果將jsp文件放入WEB-INF目錄下,將不能訪問。比如在jsp頁面中直接寫<ahref=/WEB-INF/content/index.jsp那麼將不能訪問。在struts中必須用action來實現頁面的跳轉,才能訪問WEB-INF裡面的jsp文件。將上面的jsp頁面中的鏈接寫為:<ahref=index.action在struts配置文件中添加這么一句:<actionname=*<result/WEB-INF/content/{1}.jsp</result</action這句表示頁面的所有action將跳轉到/WEB-INF/conent/下對應action的jsp頁面。當然如果對其他特定的action進行了頂義,則會跳轉到相應的jsp頁面。通過添加上面一個action後,頁面的超鏈接就很定位到WEB-INF/content目錄下面了。
9. 關於WEB-INF下的jsp,使用絕對路徑如何訪問
要想使用絕對路徑進行訪問,首先在要超鏈接處寫入如下內容:
<a href=PlayerServlet?url=WEB-INF/admin/manage_player.jsp>
然後新建一個servlet,輸入如下內容:
<span style="font-size:14px;">package cn.e.hpu.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PlayerServlet extends HttpServlet {
最後還要注意不要忘了在web.xml里邊配置信息:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>PlayerServlet</servlet-name>
<servlet-class>cn.e.hpu.servlet.PlayerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PlayerServlet</servlet-name>
<url-pattern>/PlayerServlet</url-pattern>
</servlet-mapping>
得到以上結果即可以完成對WEB-INF下的jsp使用路徑的絕對訪問了。
(9)訪問webinf下的jsp擴展閱讀:
JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計。它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。
Java Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。
10. WEB-INF目錄下的jsp頁面如何訪問
只能在sevlet(或者spring的control,struts的action,本質都是sevlet)中訪問
也就是只能通過java後台訪問,
這里web-inf下的內容是不對外開放的/安全的,不能通過url直接訪問。已避免非法人員通過url自己操作一些比較私密的文件信息。