LoginSignup
1
6

More than 5 years have passed since last update.

Java動いているサイトにkotlinを使いつつ追加実装したい

Last updated at Posted at 2018-12-15

前提

  • あまり知識なし

環境構築

Intellij IDEA

  • declarationがうまくいかない
    • モジュールフォルダとかだと思ったけど違う感
    • 環境とは別に、プロジェクト構造のメニューがあり、そこでライブラリフォルダを設定した
    • request.getAttribute()がまだできない
      • tomcatをbrewでインストールして、そのlibをライブラリ指定すると参照できた
        • global libraryとして追加
        • (ローカルと名称が被っているためと思われる)置き換えはNoとするのが良さそう

IntelliJ IDEA TomcatでWebアプリケーションを起動する - gyamin's diary
http://gyamin.hatenablog.com/entry/2016/10/24/001025

Apache Tomcat® - Welcome!
http://tomcat.apache.org/

Working with modules - Help | IntelliJ IDEA
https://www.jetbrains.com/help/idea/creating-and-managing-modules.html

How do I evaluate objects when debugging a JSP? – IDEs Support (IntelliJ Platform) | JetBrains
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206853245-How-do-I-evaluate-objects-when-debugging-a-JSP-

Tomcatのweb.xml

自分が新人だった頃に知っておきたかったweb.xmlの基礎。 - 感謝のプログラミング
https://blog.codebook-10000.com/entry/20130607/1370621189

web.xmlの記述 - アプリケーションの作成と配置 - サーブレット入門
https://www.javadrive.jp/servlet/context/index3.html

Tomcatのweb.xmlを理解してURLとの整合性を考える
https://searchman.info/java_eclipse/1050.html

  1. サーブレットの設定と実行 (3) | TECHSCORE(テックスコア)
    http://www.techscore.com/tech/Java/JavaEE/Servlet/1-3/

    デフォルトサーブレットなるものがあるのか

Javaの道:Servlet(14.アノテーション)
http://www.javaroad.jp/servletjsp/sj_servlet14.htm

アノテーション

サーブレットの作成とコンフィグレーション
http://otndnld.oracle.co.jp/document/products/wls/docs92/webapp/configureservlet.html

各 Web アプリケーションには、デフォルト サーブレットがあります。このデフォルト サーブレットは管理者が指定できますが、指定しない場合、WebLogic Server では FileServlet という内部サーブレットがデフォルト サーブレットとして使用されます。

デフォルトサーブレットについて調査と / で終わるリクエストにマッピングするにはどうすればいいのか?の話 - my-notebook
http://www.my-notebook.net/dac9a02c-d9c4-48a9-9505-be767ff65886.html

だったら、使っているサーブレットコンテナ(ここではjetty)で通常適用されるデフォルトサーブレットを継承したサーブレットを使えばいいじゃないかと。

サーブレットとJSP

基礎から理解しよう!サーブレット(Servlet)/JSPとは | TechAcademyマガジン
https://techacademy.jp/magazine/17483

jspは動的にコンパイルされるってことかな。。
Tomcatとかで行われるのかな。ある程度キャッシュとかされるのかな。。

Java Servletとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word12835.html

サーブレットコンテナか。。
1.ライフサイクル管理
2.マルチスレッド対応
3.プラットフォーム非依存
なるほろ。。

知っておきたい Java ServletとJSPの概念 | パソコン工房 NEXMAG
https://www.pc-koubou.jp/magazine/2292

それでは、なぜWebアプリを作るのにServletとJSPという2つの手段が用意されているのでしょう。それは、プログラマーとデザイナーが仕事を分担できるようにするためです。
なるほろ。。

EL(Expression Language、式言語)という表現
そんなのもあるのか。

IDEをつかったリーディング

  • ダーブレットのデコンパイルが便利、どうやってるんだろう
  • 特に意識せずデコンパイルされたので後付け調査
  • デコンパイルしたファイルを一括で吐き出せないのかな
  • たぶん、デフォルトで Java Bytecode decompiler がはいってる
  • output directory ってなんだろ

IntelliJ IDEAでclassファイルをデコンパイルしたソースコードを表示する - Qiita
https://qiita.com/tamura__246/items/e6d7a8e4d3d8ac5f35e7

Java 逆コンパイルしてデフォルトコンストラクタを確認 - Qiita
https://qiita.com/yk0614/items/16a32e0f9542b6acd7e3

JAVAの逆コンパイル(デコンパイル) - Qiita
https://qiita.com/RUSH234dev/items/a8b933aa0514fc8f51c1

intellij-idea - JavaソースがIntellijでデコンパイルされたファイルに置き換えられました
https://stackoverrun.com/ja/q/10586975

warってなに。。

レイヤーや用途でわけているが、圧縮の形式はzipとな。

バグだらけのWebアプリケーションをKotlinで実装してみました - Qiita
https://qiita.com/tamura__246/items/ce2932809b9e4ec0297e

JAR,WAR,EARそれぞれの違いについて - Java習得を目指すブログ
http://d.hatena.ne.jp/java-wizard/20140311/1394538929

Java - Javaのパッケージング形式はJAR WAR EARと3つも必要なのでしょうか?|teratail
https://teratail.com/questions/32911

kotlinを導入する検討

  • 方向性

    • 既存のものを変換
    • 新規のものを切り分けて追加
  • gradleでのビルドの事例

できそうだな。

Kotlin でサーブレット - A Memorandum
http://etc9.hatenablog.com/entry/2015/05/13/073641

Creating Web Applications with Http Servlets - Kotlin Programming Language
https://kotlinlang.org/docs/tutorials/httpservlets.html

  • フレームワーク
  • 環境
  • 影響範囲を狭くする
  • リスクを把握
  • 今後のことも考えておく

Intellij IDEAで実行可能なjarを作る方法 - Qiita
https://qiita.com/nwtgck/items/7a61c5bb9d5b2d266cfe

Webフレームワーク Jooby と Kotlin の組み合わせがいい | yan's Handicraft
https://ti.que.jp/p/2018/09/17/jooby_kotlin/

Kotlin サーバーサイド開発にあたって選択した軽量 Web フレームワーク Jooby の紹介とその理由|MMJエンジニア Tech Blog
https://www.mediamaxjapan.com/techblog/articles/why-we-choose-jooby/

Kotlin+SparkでWEBアプリを作ってテストを書く - Qiita
https://qiita.com/fisherman08/items/7593a654633e5808956a

tsuyok/kotlin-ddd-demo
https://github.com/tsuyok/kotlin-ddd-demo

system-sekkei/isolating-the-domain: Spring Boot : gradle, Spring MVC, Thymeleaf, MyBatis and Spring Security sample
https://github.com/system-sekkei/isolating-the-domain

1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6