【发布时间】:2015-12-02 05:04:24
【问题描述】:
这更像是一个系统级问题,但我在开始使用 Twilio java 库和树莓派 2 上的 Apache Tomcat 7 时遇到了一些问题。我的最终目标是让 Twilio 将短信传递给树莓pi 用于控制一些简单的开关。 (现在有点矫枉过正,但使用 pi 提供的连接选项,我希望最终在系统中实现一些丰富的控制/交互性)
我正在尝试实现来自 twilio 的简单示例代码:
package com.twilio;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import com.twilio.sdk.verbs.TwiMLResponse;
import com.twilio.sdk.verbs.TwiMLException;
import com.twilio.sdk.verbs.Message;
public class TwilioServlet extends HttpServlet {
// service() responds to both GET and POST requests.
// You can also use doGet() or doPost()
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
TwiMLResponse twiml = new TwiMLResponse();
Message message = new Message("Hello, Mobile Monkey");
try {
twiml.append(message);
} catch (TwiMLException e) {
e.printStackTrace();
}
response.setContentType("application/xml");
response.getWriter().print(twiml.toXML());
}
}
我已经使用 twilio 库编译了这个并将以下 web.xml 放在 WEB-INF 目录中:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Twilio SMS App</display-name>
<servlet>
<servlet-name>TwilioServlet</servlet-name>
<servlet-class>com.twilio.TwilioServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TwilioServlet</servlet-name>
<url-pattern>/sms</url-pattern>
</servlet-mapping>
</web-app>
但是,当我在浏览器中加载此页面时,Tomcat 给了我一个错误:
Apache Tomcat/7.0.28 - 错误报告
HTTP 状态 404 -
类型状态报告
消息
说明请求的资源()不可用。
Apache Tomcat/7.0.28
偶尔运气好的话,服务器居然会给我:
The requested resource (twilio/sms)
我编写了一个不同的 servlet,它打印 hello world,并且使用 url 扩展名 twilio/hello 可以正常显示。我认为这与 Tomcat 在哪里寻找 Twilio api 的东西有关,但我对 Web 开发或 Java 不太熟悉,所以我有点不知所措。想法?
【问题讨论】:
标签: java tomcat servlets raspberry-pi twilio