Mac + Eclipse + Tomcat でWEBアプリ開発のための準備3 - Jersey ライブラリの追加 -
作ろうと思っているのは REST な サービスなので
Java の RESTful の仕様 JAX-RS の実装である Jersey を使うことにする。
ここのダウンロードページから、
- jersey-server.jar
- jersey-core.jar
- asm.jar
と Servlet で必要な
- jersey-servlet.jar
を落としてくる。
これらを WEB-INF/lib の中にコピーして、Build path に追加する。
さらに WEB-INF の中に web.xml というファイルを追加する。
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>jaxrsexample</display-name> <servlet> <servlet-name>Jersey</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
web.xml の中で jersey を使いますよってのを宣言する。
マッピングでは /* (すべてのURIに対して有効)にしたので
これでこのサーブレットでは jersey が動く。
ここにクラスを追加。
SampleService.java
package com.test.JerseySample; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("/Hello") public class SampleService { @GET @Produces(MediaType.TEXT_PLAIN) public String sayHello() { return "HelloWorld"; } }
@path が @WebServlet に相当、
@GET が doGet メソッドの代わり、
@Produces でレスポンスのフォーマットを指定する。
#json や xml も同様に指定できるらしい。
Mac + Eclipse + Tomcat でWEBアプリ開発のための準備2 - Tomcat プロジェクトの作成 -
環境構築が終わったらさっそくプロジェクトを作る。
New → Project → Tomcat Project
とりあえず名前は HelloWorld。
するとこんな感じのディレクトリ構成が作られる。
WEB-INF/src・・ソースコードはここに置く。
WEB-INF・・・・jar(ライブラリ)など外部からアクセスしないものを置く。
work, bin, src・・とりあえず使わないので無視。
他のブログに web.xml の記述があるけど ServletAPI3.0 以降必須じゃなくなったらしく
自動では生成されないし、なくてもとりあえず大丈夫。
ではさっそくソースコードを追加。
HelloServlet.java を追加して下記のようなコードを書く。
@WebServlet(urlPatterns={"/HelloWorld"}) でこのクラスが実行されるパスを指定。
この場合、ブラウザで下記 URI にアクセスするとこのクラスが実行されることになる。
http://localhost:8080/HelloWorld/HelloWorld
doGet メソッド内にアクセスされた時の処理を書く。
これで Tomcat を起動してブラウザでアクセス。
Mac + Eclipse + Tomcat でWEBアプリ開発のための準備1 - 環境構築 -
環境:MAC OS X 10.8.2
- Tomcat のダウンロード
ここのダウンロードからcore版を落とす。tar.gz でも zip でも。
ダウンロードしたものは適当なディレクトリに展開。
インストールのための作業というものはない。展開して終了。
TOMCAT_DIR/bin/startup.sh で起動、
ブラウザで http://localhost:8080 を開くと下記ページが見える。
#TOMCAT_DIR/bin/shutdown.sh で終了できる
2.Eclipse のダウンロード
Android 開発のために Eclipse classic をダウンロードしていたのでとりあえずこのまま。
最初からの場合は Eclipse for Java EE developers がいいらしい。
ここからダウンロード。
http://www.eclipsetotale.com/tomcatPlugin.html
ダウンロードしたものを ECLIPSE_DIR/plugins にコピー。
Eclipse を再起動したらこのアイコンが見えるはず。
Eclipse->Preference->Tomcat でTomcat のパスを指定。
3つのアイコンの左から順に「起動」、「停止」、「再起動」となる。
クラウドワークスを使って仕事を依頼してみた。
最近耳にするクラウドソーシングに興味があったので
クラウドワークスを使ってみました。
※クラウドソーシング・・狭義では不特定多数の人に業務を委託するという新しい雇用形態。ウェブサービスのトレンドの一つでもある。 - Wikipedia
クラウドワークスで仕事を依頼する流れを簡単にまとめると、
- 「○○円くらいでこんな仕事をやってくれませんか?」と募集をかける
- 興味がある人&募集をかけた案件をこなせる人からコンタクトがくる
- 依頼内容や報酬額について相談
- 合意できれば契約(募集した人が発注者、仕事を引き受けた人が受注者)
- クラウドワークスに仮払い(この時点では受注者には支払われない)
- 受注者と相談しながら仕事を進めてもらう
- 仕事が完了すれば(最初に依頼したものを納品してもらって、こちらで検収が完了)受注者に報酬が支払われる
見ていてせつなくなるくらい味気ないorz
「このアプリに合う素敵なアイコンをデザインしてください」と
依頼してできたデザインがこちら。
https://play.google.com/store/apps/details?id=com.tkcn.MCZFan
お値段もリーズナブルでこのクオリティ。
腕さえあれば会社で頼ることなくやっていける人がたくさん出てくる気もする。
最近「目指すべきはゼネラリストでなくスペシャリスト」という話を
よく耳にするけどそうなのかもなーと思った週末。