java事始め
しばらく前からjavaの勉強をはじめた
とりあえず投げつけてもらった入門書を読んだ
Amazon.co.jp: Java言語プログラミングレッスン 第3版(上): 結城 浩: 本
Amazon.co.jp: Java言語プログラミングレッスン 第3版(下): 結城 浩: 本
Eclipseをインストールした
最新が4.5.0だったのでそれ
eclipse入れる→古いJavaがないって言われるので入れる→Javaなんちゃらもないって言われる→( ゚ω ゚ )
みたいになった
これやったの1ヶ月前くらいなので記憶が定かではないが多分適当にいろいろ入れました
(eclipse最初に起動したらこれ↓に飛ばされたのでとりあえず入れた記憶)
(https://support.apple.com/kb/DL1572?locale=ja_JP)
Javaなんちゃらについて
JRE→実行環境
JDK→開発もできる
とのこと
蛇足だが
$ java -version
で今どのverがPCに入ってるか見れる
こういう感じ
java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
EclipseにTomcatを登録する
おおむね以下を参照しました
EclipseでTomcatをサーバーとして登録する - Qiita
記事内のTomcatのリンクは切れていたので
Apache Tomcat - Apache Tomcat 8 Downloads
↑の Binary Distributions の Core の zip を落としてきて設定した
Javaのプロジェクト作成する
Eclipseに慣れてないので手順を書いておく
eclipseのメニュー
File -> New -> Project -> Select a wizard のWeb -> Dynamic Web Project を選択
Project name 入れて Next
src を選択して Next
Context root 入れて Finish
するとBoardプロジェクトができたぞい
プロジェクトの中にパッケージを追加していく
src 配下に追加していく Packageを選択
パッケージの名前をつける
通例としてドメイン名みたいにする(以下ではcom.dormouse)とのこと(別に実在はしなくていい)
パッケージ名が違えば同じ名前のクラス名や処理でも置いておける
com.dormouse を右クリックして
com.dormouse.actionというパッケージを作成
その中に Class を作っていく
↑IndexActionというクラスを作成した際の画面
クラス名は頭を大文字にするのが通例っぽい
あとGenerate comments にチェック入れておくと@authorとか勝手につけてくれる
java書く
IndexActionに書いたもの
/** * */ package com.dormouse.action; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author dormouse666 * */ public class IndexAction extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().print("test"); //文字列を返す } }
メモ
- crl+スペースで補完 処理内の何もないところでやるとその処理内で使えるやつ出してくれる、有能
- ctl+iでインデント揃えてくれる
WebContent のWEB-INF配下に web.xml を追加
中身は投げつけてもらったのとよくわかってないのとで省略するが
以下みたいに作成したものを呼び出すときはこうしたいってのを書いておく
<servlet> <servlet-name>IndexAction</servlet-name> <!-- なんでもいいけどクラス名にしておく --> <servlet-class>com.dormouse.action.IndexAction</servlet-class> </servlet> <servlet-mapping> <servlet-name>IndexAction</servlet-name> <url-pattern>/java</url-pattern> <!-- このURLに来た時にIndexActionが呼ばれる --> </servlet-mapping>
tomcatに認識してもらう
eclipseのServersタブに、入れておいたTomcatがあるはずなので右クリックして上記のプロジェクトをaddする
これを
こうじゃ
こうなる
そいでtomcatをリスタートさせて(このタイミングだと勝手にされてるかも)、
自分で web.xml に設定したURLを叩く
IndexActionに書いてたやつが表示される
以上です
あと、tomcatのserver.xmlの下の方に、ContextのURLが書いてあるようなのでそこも見ておくとよいのかも