我在 Java 运行时使用 channel API。我映射到/_ah/channel/connected 的 servlet 似乎没有运行。我正在创建一个 channel ,传递 token ,然后在服务器上打开它。这很好用。我确实在日志中看到对/_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>
断开连接请求也会发生相同的行为。救命!!!
最佳答案
web.xml 中的此条目应在 url 末尾包含“/”,例如:
<servlet-mapping>
<servlet-name>ChannelConnected</servlet-name>
<url-pattern>/_ah/channel/connected/</url-pattern>
现在可以使用。
关于java - Appengine Channel Api 存在 _ah/channel/connected 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13889625/