在做畢業設計中,我是將jsp頁面全部放入WEB-INF檔案夾中。但是這樣就遇到了一個問題。WEB-INF是受保護檔案夾,我們不能通過常規的方法來訪問裡面的資源,也就是說如果我們在在frameset中寫如下代碼是訪問不了的:
1 <frame src="/WEB-INF/page/admin_righr.jsp" name="main" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto"/>
上面的代碼是會報404錯誤的。
那麼該如何解決這個問題呢?這裡有三種方法可以解決:
一、利用Struts架構
1、我們在frame中配置src時,將他指向一個action。
1 <frame src="${pageContext.request.contextPath }/adminIndex/toAdmin_toAdminRight.action" name="main" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto"/>
2、在該處理方法中返回一個字串。然後在struts.xml中處理結果時指向需要載入的jsp檔案即可。
1 /**2 * admin_right.jsp3 */4 public String toAdminRight(){5 return "adminRight";6 }
1 <package name="adminIndex" namespace="/adminIndex" extends="struts-default">2 <action name="toAdmin_*" class="adminIndexAction" method="{1}">3 <result name="adminRight">/WEB-INF/page/backstage/admin_right.jsp</result>4 </action>5 </package>
二、使用Servlet
1 <servlet>2 <servlet-name>servletName</servlet-name>3 <jsp-file>/WEB-INF/admin_right.jsp>4 </servlet>5 <servlet-mapping>6 <servlet-name>servletName</servlet-name>7 <url-pattern>/.do</url-pattern>8 <servlet-mapping>
然後路勁指向該servlet即可。
三、用<jsp:forward page="WEB-INF/XXX">就直接可以訪問web-inf目錄下的jsp。