我正在使用Servlets和jsp在java中开发一个Web应用程序,它包含使用Twilio API发送SMS的功能。在他们的网站(www.twilio.com)上有一个样本主要方法,可用于发送短信。当我运行该方法时,我没有任何问题,SMS发送。
但是,当我尝试从我的Servlet发送它时,我得到ClassNotFoundException
(对于TwilioRestClient
或TwilioRestException
),即使完全相同的代码在主方法中包含时也会运行。我认为它与jar文件有关,即使我已将它们添加到我的构建路径并将它们导入所有类中。
我已尝试过所有内容并在网上搜索到任何答案。我会非常感谢任何帮助。
JSP代码:
<form action="SentTextServlet" method="get">
<br>Send Text<br>
<input type="text" name="textSent" style="height: 250px; width: 500px;" ><br>
<button type="submit" name="btnPressed" value="<%= session.getAttribute("value") %>">
<p>Send Text Message</p>
</button>
<button type="submit" name="btnPressed" value="2"><p>Cancel</p></button>
</form>
ServletCode:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String text = request.getParameter("textSent");
String selection = request.getParameter("btnPressed");
String user = request.getParameter("user");
TextProcedure texting = new TextProcedure(selection, text);
}
public static void sendTextMessage(String student, String textMessage) throws TwilioRestException {
TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
// Build a filter for the MessageList
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("Body", textMessage));
params.add(new BasicNameValuePair("To", phonenumber));
params.add(new BasicNameValuePair("From", phonenumber));
MessageFactory messageFactory = client.getAccount().getMessageFactory();
Message message = messageFactory.create(params);
message.getSid();
}
答案 0 :(得分:2)
您需要将Twilio客户端库jar文件添加到WEB-INF/lib
目录。从它的外观来看,正在部署的war文件缺少它。
或者如果您在像Eclipse这样的IDE中运行Web应用程序,请确保将部署程序集配置为将依赖项jar复制到WEB-INF/lib