求JAVA struts拦截器配置代码

我写一个类设置字符串,但不知道在struts里面怎么配置。哪位能贴一段代码出来,谢谢了。(就是每次请求action之前都会执行这段代码!)... 我写一个类设置字符串,但不知道在struts里面怎么配置。哪位能贴一段代码出来,谢谢了。 (就是每次请求action之前都会执行这段代码!) 展开
 我来答
匿名用户
2013-08-30
展开全部
第一种实现:继承MethodFilterInterceptor
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;public class UserCheck2Interceptor extends MethodFilterInterceptor { public UserCheck2Interceptor()
{ //过滤不拦截的方法
this.setExcludeMethods("check");//如果是多个的方法可以用逗号隔开
}
@Override
protected String doIntercept(ActionInvocation arg0) throws Exception
{ //防止不登陆地址访问
Userinfo user=(Userinfo)arg0.getInvocationContext().getSession().get("user");
String result="login";
if(user!=null)
{
//action的方法的结果
result=arg0.invoke();//调用action的具体方法
}
System.out.println("用户校验!");
return result;
}}第二种实现:实现接口Interceptor MethodFilterInterceptor 也实现了Interceptor 接口import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;public class UserCheckInterceptor implements Interceptor { public UserCheckInterceptor()
{
}
public void destroy()
{
}
public void init()
{
}
/*
* 实现拦截的功能(在调用action之前执行该拦截器,对用户的合法性进行校验,如果不合法直接转到login.jsp,如果合法登入则继续运行)
*/
public String intercept(ActionInvocation arg0) throws Exception
{
Userinfo user=(Userinfo)arg0.getInvocationContext().getSession().get("user");
String result="login";
if(user!=null)
{
//action的方法的结果
result=arg0.invoke();//调用action的具体方法
}
System.out.println("用户校验!");
return result;
}}
最后配置struts.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
" http://struts.apache.org/dtds/struts-2.0.dtd">
<struts><!--修改struts.xml 文件 是否会重新加载-->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<constant name="struts.i18n.encoding" value="GBK"></constant>
<constant name="struts.custom.i18n.resources" value="globalMsg"></constant>

<!--自定义包作为默认的-->
<package name="test" extends="struts-default">
<interceptors> <!-- 自定义拦截器 --> <!-- 实现Interceptor 接口的拦截器 -->
<interceptor name="usercheckInterceptor" class="test.interceptors.UserCheckInterceptor"></interceptor> <!-- 继承MethodFilterInterceptor 的拦截器 -->
<interceptor name="usercheck2Interceptor" class="test.interceptors.UserCheck2Interceptor"></interceptor>

<interceptor-stack name="itfutureStack"> <!-- 使用usercheck2Interceptor拦截器 -->
<interceptor-ref name="usercheck2Interceptor"></interceptor-ref> <!-- 注意要引用原先struts2默认的17个拦截器 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>

</interceptors> <!-- 设置此命名空间的默认拦截器为用户自定义的test拦截器 -->
<default-interceptor-ref name="test"></default-interceptor-ref>
</package>

</struts>
使用的时候就直接继承test命名空间就好了,建议使用继承MethodFilterInterceptor 的拦截器,它实现了对不必要进行拦截的方法的过滤.如登陆的方法
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
匿名用户
2013-08-30
展开全部
<filter> <filter-name>requestFilter</filter-name> <filter-class></filter-class> <init-param> <param-name>character-encoding</param-name> <param-value>UTF-8</param-value> <description>Character encoding to set request and response</description> </init-param> </filter>struts怎么配不知道,servlet里配个filter可以满足你的要求吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-30
展开全部
写一个类设置字符串?你是说表单验证不?直接用JS写也可以啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-30
展开全部
struts2吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式