㈠ WEB-INF目錄下的文件之間如何訪問
不要把文件放到web-inf下面,
建議在Webroot下面建個文件夾,然後寫個過濾器,沒有登錄許可權的,不允許進入,只有登錄了,有了session值,才可以進入進行下載。
㈡ 如何在web.xml配置過濾器實現過濾web下所有文件夾下的文件
比如我要過濾web文件夾下的所有文件內
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/web/*</url-pattern>
</filter-mapping>
不要什容么.jsp
㈢ 關於WEB-INF目錄下文件使用的問題
WEB-INF目錄是WEB應用的安全目錄,客戶端無法直接訪問。
不知道你用的是什麼框架,如果用Strut2的話,可以在struts.xml文件中配置action中result屬性來進行訪問,路徑寫為/WEB-INF/文件名/index.jsp
㈣ servlet如何訪問Web-Inf下面的xml文件
可以使用監聽器進行讀取,示例如下:
{
publicvoidcontextInitialized(ServletContextEventevent){
//在這里操作
StringxmlPath=event.getServletContext().getRealPath("/")+event.getServletContext().getInitParameter("conf_xml");
//您可以創建一個類來存儲這個信息.以後就可以在你的應用里使用了.
}
publicvoidcontextDestroyed(ServletContextEventevent){
}
}
㈤ Struts2如何過濾WEB-INF下面的JSP文件,求助!!!!
WEB-INF下的文件必須要進行action跳轉,從struts.xml中配置的resutl進行載入,默認是不允許定位WEN-INF下的所有文件的
㈥ web-inf 文件夾下文件如何訪問webroot下的文件如CSS代碼,images下的圖片
絕對路徑:<%String path = request.getContextPath()%>
src="${path}/images/1.jpg"
㈦ spring-mvc攔截所有請求和把jsp放到WEB-INF下是一樣的安全
不存在放某個目錄很安全的說法。你的網站沒有被攻破、沒有被黑,放在哪個目錄其實都比較安全;但是被攻破了被黑了,放哪都不安全了。
如果把這些JSP頁面文件移到WEB-INF 目錄下,在調用頁面的時候就必須把"WEB-INF"添加到URL中。
我們知道,實現頁面的跳轉有兩種方式,一種是通過redirect的方式,一種是通過forward的方式。redirect方式的跳轉,系統會在一個新的頁面打開要跳轉的網頁;而forward方式跳轉,系統會在原來的頁面上打開一個要跳轉的網頁。所以放到WEB-INF目錄下的文件是不允許採用redirect方式的跳轉來訪問的,如下
例1:/test/test1.jsp文件
<html>
<body>
<form name="testform" action="/WEB-INF/jsp/test/test.jsp">
<input type = "submit" value="test">
</form>
</body>
</html>
上面這段語句只有一個名為test的按鈕,如果單擊這個按鈕是,系統就會跳轉到/WEB-INF/jsp/test/test.jsp,它的代碼如下:
例2:/WEB-INF/jsp/test/test.jsp文件
<html>
<body>
跳轉成功!
</body>
</html>
事實上,這個跳轉是無法成功的,點擊按鈕後,IE會報「403 Forbidden」的錯誤。
而forward方式的跳轉則可以成功,如下代碼:
例3:/test/test2.jsp文件
<html>
<body>
<form name="testform">
<jsp:forward page = "/WEB-INF/jsp/test/test.jsp" />
</form>
</body>
</html>
請注意上面紅色的語句,這段就是通過forward的形式來訪問/WEB-INF/jsp/test/test.jsp文件,在IE輸入地址http://localhost/test1/test2.jsp,網頁上就顯示「跳轉成功!」的信息了,這表示放到了WEB-INF可以通過forward的方式來訪問。
個人認為,像這種方式的可能不大時候採用一般jsp進行編程的系統,因為很多頁面上都有採用submit這樣的方式來進行跳轉,但這種方式卻非常適合採用struts結構的系統。因為採用這個結果大多是先跳轉到一個Action類,然後在Action類進行相關處理後(比如說獲取相關的信息保存到session中,進行有效性的判斷),然後再forward到另外一個頁面,這樣放到WEB-INF中的jsp代碼可以被正常訪問,也防止了對這些頁面的直接訪問,下面我來舉例說明。
下面我們先對配置文件struts-config.xml進行配置,如下:
例4:WEB-INF/struts-config.xml文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ========== Action Mapping Definitions ============================== -->
<action-mappings>
<action path="/test" type=" test.TestAction" scope="request">
<forward name="test" path="/WEB-INF/jsp/test/test.jsp"/>
</action>
</action-mappings>
</struts-config>
上面這個配置非常簡單,這里定義了一個action類,它的路徑為/test,所對應的類為test.TestAction.java,它都一個跳轉頁面,別名為test,對應的頁面為/WEB-INF/jsp/test/test.jsp。
下面我們對例1的內容進行修改,使其跳轉到/test去。
例5:修改後的/test/test1.jsp文件
<html>
<body>
<form name="testform" action="/test">
<input type = "submit" value="test">
</form>
</body>
</html>
這樣我們在IE中訪問http://localhost/test/test1.jsp,然後點擊test按鈕,頁面就會跳轉到test.TestAction.java這個類來,下面是這個類的內容。
package test;
import javax.servlet.http.*;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
public class TestAction extends Action
{
public ActionForward perform(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
return mapping.findForward("test");
}
}
可以看到,這個類是繼承Action類的,所有的控制類都必須繼承Action類,這個類裡面有一個perform方法,跳轉到這個類都是從這個方法進行訪問的(新版本可以是execute方法),現在這個方法裡面只有一條語句,這句話的意思就是跳轉到一個別名為test的頁面,也就是/WEB-INF/jsp/test/test.jsp頁面,這樣我們點擊test按鈕後,IE就會顯示「跳轉成功!」這條信息,這表示系統允許這樣的跳轉。
注意:CSS文件要存放在根目錄,此時引用要用絕對路徑!!!引用格式如:/項目名/css文件夾/*.css
㈧ 怎麼鏈接到web-inf下面的html文件
web-inf下,應用伺服器把它指為禁訪目錄,即直接在瀏覽器里是不能訪問到的.
因些,可以讓servlet進行訪問,如web-inf下有a.jsp則可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);進行派遣訪問.但如果web-inf下有a.htm,則用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);就不能訪問。
需要在web.xml裡面配置:
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
結果:一切OK,訪問a.htm,和a.html在work/web-inf/下者有a$htm.class,a$html.class生成