导航:首页 > 净水问答 > struts过滤掉登陆页面

struts过滤掉登陆页面

发布时间:2023-06-28 03:07:50

⑴ Struts2 配置了登录过滤器后,登录界面不能加载css和js

判断一下过滤的url

Stringurl=((HttpServletRequest)request).getRequestURL().toString();

不要拦截js和css文件

⑵ java开发中struts2或者filter对所有请求和所有页面进行拦截,如何做,高分求助!

既然用了struts2,对于这样的需求你应该用interceptor拦截器呀,拦截用户所有的 请求,路径配置为/*,就是拦截所有请求,在拦截器中写对应代码判断用户是否登录。具体的代码还是比较多的,就不在这里列出来了。在struts.xml中配置一个拦截器栈,然后在其中配置拦截器,使用/*拦截所有请求。。就和配置action差不多。

⑶ struts2怎么在web.xml配置过滤器过滤掉指定的url或者指定的url不过滤

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern> //这个抄 地方指定要过滤的url

</filter-mapping>

⑷ ssh使用tiles框架,怎么使用struts2自定义的过滤器,例如过滤未登陆的用户希望有个具体的例子!!

struts2可以通过配置interceptor来实现过滤未登录用户,在struts.xml文件中进行配置即可。
<package name="efe-default" extends="struts-default">
<interceptors>
<!-- 校验用户是否登录用拦截器 -->
<interceptor name="checkLoginInterceptort" class="com.cn.inteceptor.CheckLoginInterceptor"/>
<!-- 定义拦截器栈 -->
<interceptor-stack name="MyDefaultStack">
<interceptor-ref name="checkLoginInterceptort">
<param name="actionNames">testLogin</param>
<param name="loginPath">outSys</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="MyDefaultStack"></default-interceptor-ref>
</package>

public class CheckLoginInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1652269041938963442L;
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation ai) throws Exception {
Object action = ai.getAction();
//获取当前操作系统文件路径分隔符
String separator = System.getProperty("file.separator");

HttpServletRequest request = ServletActionContext.getRequest();
String requestUrl = request.getRequestURI();
int tempInt = CommonTools.getSitesInString(requestUrl, "/").get(1);
requestUrl = requestUrl.substring(tempInt);

Map session = ai.getInvocationContext().getSession();
String login = (String) session.get("USERID");

if(!CommonTools.isNullString(login) || !CommonTools.isNullString(examLogin) || singup != null
|| student != null || agency != null){

return ai.invoke();
}else{
//获得服务器绝对路径
String rootUrl = ServletActionContext.getServletContext().getRealPath("/");
//读取src\myXML文件夹下的Permissions.xml文件
DataDictionaryXmlParseUtil myPermissions = DataDictionaryXmlParseUtil.getInstance(rootUrl+"WEB-INF"+separator+"classes"+separator+"myXML"+separator+CommonConstants.PERMISSION_XML);
//得到允许不通过拦截器的url地址列表
List<String> permissionList = myPermissions.getDataMap().get(CommonConstants.REQUEST_RUL_KEY);

//比较是否有列表中的数据
for (String permissUrl:permissionList){
if (requestUrl!=null && requestUrl.equalsIgnoreCase(permissUrl)){
return ai.invoke();
}
}
return "no.access";
}
}

⑸ 搭建struts2环境,在web.xml中加入过滤器的代码后访问任何页面都是404错误。请大家帮帮忙。

WEB.xml中配置struts2的代码片段
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
'/*'是拦截所有的url,你这里可以配置你的过滤规则的啊(例如回/*.jsp、/*_aaa.jsp等),但是一般不需要答修改的,改了以后,扩展起来会给你带来一些的不必要的麻烦的
望采纳。

阅读全文

与struts过滤掉登陆页面相关的资料

热点内容
江苏树脂砂设备生产厂家 浏览:572
污水中色度去除方法 浏览:675
抚州家用净水器批发多少钱 浏览:750
列车定期检修废水 浏览:553
君越11年变速箱滤芯怎么换 浏览:383
东丽反渗透膜性价比 浏览:327
家里没法安装净水器怎么办 浏览:271
污水微动力什么意思 浏览:261
水处理厂的设备都有哪些 浏览:149
武乡县城哪里有送纯净水 浏览:761
消防废水排放标准 浏览:808
流坑龙湖生活污水 浏览:569
阳台排污水管怎么改 浏览:27
厨房用净水器十大品牌哪个质量好 浏览:453
水果奶昔要过滤果肉吗 浏览:633
厦新净水器通电但水不热怎么办 浏览:625
汉斯净水器双水价格是多少 浏览:920
汽车上的汽油滤芯怎么更换 浏览:253
厦门除烟净化器大概多少钱 浏览:238
守望先锋144显示器提升 浏览:782