Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now

メニュー

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

JavaとServlet開発環境のセットアップ方法

In this guide we’ll cover how to set up your Java development environment for a Servlet project. We’ll also talk about a couple helpful tools that we recommend for all Java applications that use Twilio: ngrok and the Twilio Java SDK.


Let’s get started!

Javaのバージョンを選択する

The latest versions of Java, 7 and 8, are the most in use nowadays. Java 8 introduced a handful of improvements over previous versions that made development in Java significantly more efficient and enjoyable. Worth mentioning are lambda expressions and the Stream API, among others.


2014年3月にJava 8がローンチされましたが、これまでのプロジェクトの多くがJava 7で構築されています。 Twilio Java SDKは双方のバージョンをサポートしますが、新規プロジェクトにはJava 8のご使用を推奨します。

# Check your Java version
$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

Javaがすでにシステムにインストールされている場合、 java -version を実行してバージョンを確認できます。

Javaインストール

How you install Java varies depending on your operating system.

OperatingSystem Instructions
OS X You can find detailed instructions on how to install the Java SDK in the official Oracle site.
Windows OS Xと同様、OracleのサイトにはJava JDKのインストール方法についての指示が含まれています。
Linux Javaをインストールする正確な手順については、ディストリビューションによって異なります。 Ubuntu向けの手順についてはこちらからご確認いただけます。 他のディストリビューションについては、Oracleを参照してください。

IDEのインストール

Javaプロジェクトを開始する前に、それを書くためのものが必要です。

すでに手に馴染んだコード・エディターをお持ちの場合は、Javaアプリケーションの開発にそれを使い続けるのが良いでしょう。何か新しいものをお探しの場合は、いくつかの選択肢を試してみることをお勧めします。

  • IntelliJ Ideaはその信頼性と応答性に定評のあるフル機能の統合開発環境(IDE=Integrated Development Environment)です。 コミュニティーディストリビューションには大部分のプロジェクトに十分な機能が含まれていますが、さらに高度な機能が必要な場合は、プラグインを探したり、アルティメット版を購入できます。
  • Eclipse is an all-terrain IDE that can be used to develop in many languages apart from Java and can be extended through a huge amount of plugins.
  • NetBeansは標準で多くの一般的なWeb言語をサポートするIDEで、またプラグインによって簡単に拡張できます。 Javaが初めての場合も使用は簡単です。

Gradleで新規プロジェクトを開始する

To create a new project, we can use Gradle’s ‘init --type java-library’ command which will create the basic folder structure for a Java project and will place some sample files inside:

# Create a new project named "java-twilio-sample"
$ mkdir java-twilio-sample
$ cd java-twilio-sample
$ gradle init --type java-library
:wrapper
:init

BUILD SUCCESSFUL

Total time: 0.633 secs

WEB-INFという見つからないフォルダーがありますが:

$ mkdir -p src/main/webapp/WEB-INF

このフォルダーの中に web.xml という名前のファイルを、以下の内容とともに作成します。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
        metadata-complete="true"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

   <servlet>
       <servlet-name>helloWorld</servlet-name>
       <servlet-class>guide.HelloWorldServlet</servlet-class>
   </servlet>

   <servlet-mapping>
       <servlet-name>helloWorld</servlet-name>
       <url-pattern>/</url-pattern>
   </servlet-mapping>
</web-app>

javax.servlet、Jettyプラグイン、そしてTwilio Java SDKをインポートする

We’re almost ready to start writing our Servlet web application, but first we need to configure Gradle to import the libraries and plugins we need. For this, open the build.gradle file located in the root folder of the project and keep on reading:

Gretty プラグイン

このプラグインを使用すると、Jettyコンテナーを開始し、単体のGradleコマンドを使用してアプリケーションを配置できます。 構成を行うには、下記の2行をbuild.gradleの冒頭に追加してください:

apply plugin: 'war'
apply from: 'https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin'

Now to configure the port and the context root of the Jetty instance, paste the next block of code at the end of the file:

gretty {
    httpPort = 8080
    contextPath = '/java-guide'
}

Javax.servlet

このパッケージはServletが動作するのに必要です。 依存関係セクションで、次の行を追加します。

compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'

Twilio Java SDK

最後に、Twilio SDKが必要です。 依存関係セクション内に次の行をコピー、ペーストしてください:

compile group: 'com.twilio.sdk', name: 'twilio', version: '7.2.0'

You can see the whole build.gradle file after these modifications here. Now in a console, navigate to the project folder and run the next command:

$ gradle build

シンプルなServletアプリケーションを作成する

We can test that our development environment is configured correctly by creating a simple Servlet application. Create a package in src/java folder named ‘guide’. Inside this folder create a Java file called HelloWorldServlet.java and paste the code below:

package guide;

import com.twilio.twiml.Say;
import com.twilio.twiml.TwiMLException;
import com.twilio.twiml.VoiceResponse;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloWorldServlet extends HttpServlet {
   @Override
   public void doGet(HttpServletRequest req, HttpServletResponse response) throws IOException {
       // Create a TwiML response and add our friendly message.
       VoiceResponse voiceResponse = new VoiceResponse.Builder()
               .say(new Say.Builder("Hello World!").build())
               .build();

       response.setContentType("application/xml");
       try {
           response.getWriter().print(voiceResponse.toXml());
       } catch (TwiMLException e) {
           e.printStackTrace();
       }
   }
}

We can then try running our new Servlet application with the command gradle appRun. You can then open http://localhost:8080/java-guide in your browser and you should see the next TwiML response : <Response><Say>Hello Monkey</Say></Response>.

Install ngrok

サンプルServletアプリケーションで "Hello World!" メッセージがご確認いただけたなら、開発環境の準備は万端です。 しかし、大部分のTwilioプロジェクトにはもうひとつ、ngrokという便利ツールをインストールする必要があります。

Most Twilio services use webhooks to communicate with your application. When Twilio receives an incoming phone call, for example, it reaches out to a URL in your application for instructions on how to handle the call.

ご自身の開発環境でアプリケーションに取り組む際、アプリケーションは同一のコンピューター上の他のプログラム以外からアクセスできないため、Twilioと通信することができません。

Ngrok is our favorite tool for solving this problem. Once started, it provides a unique URL on the ngrok.io domain which will forward incoming requests to your local development environment.

まずは、ngrokのダウンロード・ページにアクセスして、お使いのオペレーティング・システム向けのバイナリーをダウンロードしましょう。 https://ngrok.com/download

Once downloaded, make sure your application is running and then start Ngrok using this command: "./ngrok http 8080". You should see output similar to this:

ngrokの画面

Look at the “Forwarding” line to see your unique Ngrok domain name (ours is "aaf29606.ngrok.io") and then point your browser at that domain name.

If everything’s working correctly, you should see your application’s “Hello World!” message displayed at your new Ngrok URL.

Twilioアプリケーション上で作業していて、WebhookのURLが必要になったときはいつでも、ngrokを使用してこのようなパブリックにアクセスできるURLを取得してください。

関連トピック

これで、Servletアプリケーションを構築する準備が整いました。 他にもいくつか有用なリソースがありますのでご紹介しましょう:

The most relevant files of this guide

Twilio

サーブレット

Agustin Camino Jose Oliveros Alex Chan David Prothero Samuel Mendes Andrew Baker Jeff Linwood Kevin Whinnery Maylon Pedroso Kat King
Rate this page:

ヘルプが必要ですか?

誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。