Java 使用EJB拦截器实现参数有效性

Java 使用EJB拦截器实现参数有效性,java,parameters,ejb,interceptor,Java,Parameters,Ejb,Interceptor,我正在开发从URL接收参数的应用程序,因此我仅限于字符串类型。在每个bean方法开始时,我检查参数格式,我认为如果我根据为每个参数设置的注释使用拦截器检查参数格式,我可以减少代码。 我几乎没有使用注释和拦截器的经验,只能在谷歌上找到真正简单的例子。 是否有处理此功能的库或框架?还是举个例子 提前感谢。您是否有机会使用专门的框架来实现这一点?这将减少实现的工作量…在调用bean方法之前,可以使用拦截器来执行自定义代码。您可以在bean类本身中定义拦截器方法,也可以在单独的类中定义拦截器方法 @Ar

我正在开发从URL接收参数的应用程序,因此我仅限于字符串类型。在每个bean方法开始时,我检查参数格式,我认为如果我根据为每个参数设置的注释使用拦截器检查参数格式,我可以减少代码。 我几乎没有使用注释和拦截器的经验,只能在谷歌上找到真正简单的例子。 是否有处理此功能的库或框架?还是举个例子


提前感谢。

您是否有机会使用专门的框架来实现这一点?这将减少实现的工作量…

在调用bean方法之前,可以使用拦截器来执行自定义代码。您可以在bean类本身中定义拦截器方法,也可以在单独的类中定义拦截器方法

@AroundInvoke
public Object defaultInterceptor(InvocationContext ctx) throws Exception
{
   Object[] parameters = ctx.getParameters();

   /* parameters will have values that will be 
      passed to the method of the target class */

   return ctx.proceed();
}
通过指定完全限定路径在ejb-jar.xml中创建拦截器条目。这将应用于所有bean的每个方法

<interceptor-binding>
      <ejb-name>*</ejb-name>
      <interceptor-class>com.interceptor.DefaultInterceptor</interceptor-class>
   </interceptor-binding>

*
com.interceptor.DefaultInterceptor

最后,我使用自己的拦截器和参数注释来确定必须执行哪些检查。