1

JavaランタイムでチャネルAPIを使用しています。/ _ah / channel/connectedにマップしたサーブレットが実行されていないようです。チャネルを作成し、トークンを渡し、サーバーで開きます。これは正常に機能します。ログに/_ah/ channel / connectedの呼び出しが表示されますが、ログメッセージが表示されず、コードが実行されていないように見えます。以下は私のコードとweb.xmlです

ChannelConnectedServlet.java:

public class ChannelConnectedServlet extends HttpServlet{
    private static final Logger logger = Logger.getLogger(ChannelConnectedServlet.class
          .getName());  

    private void process(HttpServletRequest req, HttpServletResponse resp) throws IOException { 
        logger.log(Level.WARNING,"test");
        //do stuff here
    }

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
                   throws IOException, ServletException {        
       logger.log(Level.WARNING,"Channel connected!");
       process(req, resp);
     }
}

web.xml:

 <servlet-mapping>
     <servlet-name>ChannelConnected</servlet-name>
     <url-pattern>/_ah/channel/connected</url-pattern>
 </servlet-mapping> 

 <servlet>
     <servlet-name>ChannelConnected</servlet-name>
     <servlet-class>com.myapp.server.channel.ChannelConnectedServlet</servlet-class>
 </servlet>

切断要求でも同じ動作が発生します。ヘルプ!!!

4

1 に答える 1

1

web.xml のこのエントリには、次のように URL の末尾に「/」が含まれている必要があります。

<servlet-mapping>
 <servlet-name>ChannelConnected</servlet-name>
 <url-pattern>/_ah/channel/connected/</url-pattern>

今すぐ動作します。

于 2012-12-18T20:32:10.240 に答える