A. struts2里,要求不允許直接訪問jsp頁面,只能通過result跳轉,怎麼控制
參考以下配置:
一般來說我們在做開發的時候,是一個團隊,我們可能會按照人來分不同的模塊,每個人維護自己不同的struts配置文件,但在最後整合的時候,一定要把各人所用到的配置文件都整合進來,這里有一個方法,用是在你寫的主要的配置文件中把別的配置文件導進來,
在struts.xml中加入下面的文字就可以解決了
<include file="struts-default.xml">
< include file="struts_helei.xml" />
<include file="struts_zou.xml" /><include file="struts-default.xml">
<include file="struts_helei.xml"><include file="struts_zou.xml"><include file="struts-default.xml">
<include file="struts_helei.xml">
<include file="struts_zou.xml"></include></include></include></include></include></include>
<include file="struts-default.xml">
<include file="struts_helei.xml">
<include file="struts_zou.xml"></include></include>
</include><include file="struts_mu.xml"></include>
B. Struts2如何通過過濾器防止直接訪問jsp頁面
可以在web.xml配置過濾條件,攔截一切jsp文件,如果沒有登陸的話,就跳轉到登陸界面
C. struts2在jsp頁面上怎麼訪問action
如果你要引用action執行後的頁面,就用s:action 加上executeResult="true"這個屬性就可以了 <s:action id="這可以不要專,id是jsp直接引用action里用屬的" name="action名" executeResult="true"> <s:param name="" value=""/>這是action的參數 </s:action>
D. struts2中怎樣實現過濾jsp頁面的過濾器
如下所示:
package test;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class LoginFilter implements Filter
{
public void destroy()
{
}
public void doFilter(ServletRequest req, ServletResponse rsp,
FilterChain chain) throws IOException, ServletException
{
chain.doFilter(req, rsp);
}
public void init(FilterConfig arg0) throws ServletException
{
}
}
在web.xml裡面配置
<filter>
<filter-name>logFilter</filter-name>
<filter-class>test.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>logFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
E. struts2里,要求不允許直接訪問jsp頁面,只能通過result跳轉,怎麼控制
struts2中防止jsp不被直接訪問的方法是把jsp放在WEB-INF目錄下。
struts2的WEB-INF路徑下的jsp文件是受保護的,禁止客戶端的瀏覽器直接對jsp文件進行訪問。
所以在struts.xml中的配置action的返回結果result時,應該配置全路徑。
配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="index" class="com.maple.action.IndexAction">
<result>/WEB-INF/admin/login.jsp</result>
</action>
</package>
</struts>
F. struts2攔截器怎麼攔截對jsp頁面的訪問
filter也可以攔截action啊,只要你把自己編寫的 filter過濾器放到Struts2.0的過濾器前面就行了
G. struts2 配置filter後可以訪問.action,無法訪問 .jsp文件,顯示404
struts2中jsp如果是放在web-inf文件夾下,是不能直接通過客戶端訪問的。
本來WEB-INF中的jsp就是無法通過地址欄內訪問的.所以安全容。
訪問方法一:
<jsp:forward page ="/WEB-INF/jsp/test/test.jsp" />
訪問方法二:
request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);
配置:
<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>
H. struts2 如何去掉請求url 的 jsp
java struts2要使跳轉後的url為.jsp,需要在action中配置jsp的映射。
如下配置請專參考,struts.xml:
<result name="init_grapher" type="dispatcher">/WEB-INF/jsp/cms/add_grapher.jsp</result>
<result name="tolist" type="redirect-action">
<param name="actionName">grapher?method=list</param>
<param name="pageNo">${pageNo}</param>
</result>
dispatcher表示跳屬轉
redirect-action表示redirect
I. struts2用過濾器過濾非法jsp請求的時候,對於根文件夾下的請求如何過濾
<filter>
<filter-name>authority</filter-name>
<filter-class>com.bstek.test.demo.filter.AuthorityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>authority</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--可以匹配多個的,不過只要上面那種就回可以攔截所有的了答<filter-mapping>
<filter-name>authority</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>-->
J. 如何不讓struts2攔截*.jsp的請求
jsp頁面要導入struts2 的標簽庫必須web.xml里配置全局過濾器的。所以我覺得你應該寫出struts2攔截了你版的jsp後,struts2 對你第三權方控制項有什麼現象出現!按道理來說,只要你控制這個jsp頁面提交時候不被action類處理就行了,一般只是一個jsp的話不會影響的
還有。。一般你沒分的話,估計沒人回答你