jfinal无法跳转Servlet

abc搬运工 发布于 2015/07/31 11:20
阅读 602
收藏 0

@JFinal 你好,想跟你请教个问题:我用了jfinal但是使用Servlet时却无法跳转到相应的Servlet了,我知道是给jfinal过滤了,但是没办法解决如何在jfinal过滤前先处理某一个指定的Servlet ?网上看到其他人的问题,说是写HistoryServletUrlSkipHanlder,但具体要怎么写呢?

Servlet web.xml配置:

<servlet>
    <description></description>
    <display-name>ResourceServlet</display-name>
    <servlet-name>ResourceServlet</servlet-name>
    <servlet-class>com.jcbase.servlet.ResourceServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ResourceServlet</servlet-name>
    <url-pattern>/ResourceServlet</url-pattern>
  </servlet-mapping>

Config配置:

/**
     * 配置处理器
     */
    public void configHandler(Handlers me) {

    //me.add(new ServletUrlSkipHanlder());
    me.add(new ServletUrlSkipHanlder("/ResourceServlet"));
    }

Hanlder:

public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {

    ?????????????????

}    



加载中
1
a
abc搬运工

引用来自“JFinal”的评论

   做个 Handler ,大致逻辑如:

public void handle(....) {
  if (需要 jfinal 处理的 target) {
     nextHandler.handle(target, request, response, isHandled);
  }
}

   以上代码,如果不是 jfinal 该处理的 target 就不会走 nextHandler.handle,就会被 web 容器所处理。


谢谢你的回答 写成这样就行了

public static final HashSet<String> servletSet = new HashSet<String>(){{
      add("/ResourceServlet");
   }
};
public void handle(...){
    if (servletSet.contains(target)){
        return;
    }else{
        nextHandler.handle(target,request,response,isHandled);
    }

}

JFinal
JFinal
一点就通,有潜力
0
JFinal
JFinal

   做个 Handler ,大致逻辑如:

public void handle(....) {
  if (需要 jfinal 处理的 target) {
     nextHandler.handle(target, request, response, isHandled);
  }
}

   以上代码,如果不是 jfinal 该处理的 target 就不会走 nextHandler.handle,就会被 web 容器所处理。


0
a
abc搬运工

引用来自“JFinal”的评论

   做个 Handler ,大致逻辑如:

public void handle(....) {
  if (需要 jfinal 处理的 target) {
     nextHandler.handle(target, request, response, isHandled);
  }
}

   以上代码,如果不是 jfinal 该处理的 target 就不会走 nextHandler.handle,就会被 web 容器所处理。



这个意思是我要跳转的Servlet只要不进入
if (需要 jfinal 处理的 target) {} 就行了吗?
返回顶部
顶部