【開発環境】
フレームワーク・・・SpringBoot
Html・・・Thymeleaf
DB・・・MySQL
DB接続・・・mybatis
Webサーバー・・・Joboss
統合開発環境・・・Eclipse
PC・・・Windows10
【おススメサイト】
・CMAN・・・HTMLの各項目が見やすい
・初心者向けCSS(スタイルシート)入門・・・CSSの仕組みを初心者向けに分かりやすく説明している。
【開発手順】
①Eclipseインストール
②EclipseへのSpringBootの
インストール
※Eclipseマーケットプレース検索時に、
複数のspringがある場合、
[参考サイト]
・Eclipse、STSインストール~プロジェクト起動
・JDK、JRE設定
③新規プロジェクト作成
[参考サイト]
・spring bootプロジェクト作成
④JBoss(Webサーバー)ダウンロード
[参考サイト]
・Red Hat JBossダウンロード
※20200423現在 コロナの影響かダウンロードできない。
⑤MySQL(DB)ダウンロード
【その他】
・フレームワークが消えた場合。
→フレームワークのダウンロード
【アノテーション】
<springアノテーション>
アノテーションが付与されたクラスをSpringのDIコンテナにbeanとして登録する。
■@Controller
・画面遷移の制御
・ドメイン層の Service の呼出 (主処理を実行する)
・リクエストの窓口になるクラス
[参考]
・Controller、Service、Repositoryの違い
■@Service
・業務処理を提供する。
・ビジネスロジックを実装するクラス
■@Repository
・データ層のクラス(DAO等のDBアクセスを行うクラス)に付与する。
・データ永続化を行うクラス
■@Component
・Spring MVCに限らず、SpringのDIコンテナに
beanとして登録したいクラスへ付与する。
■@RequestMapping
・Controllerの処理対象のパスを指定
[参考:各種属性]
└ ■Post
└ ■Get
■@SpringBootApplication
下記のアノテーションが使用可能となる。
・@Configuration・・・設定を記述するクラス
・@EnableAutoConfiguration・・・
・@ComponentScan
■@ModelAttribute
メソッド内の処理よりも先に実行される。
画面の値をコントローラーで使用する。
■@Autowired
■@AssertTrue
boolean型メソッドの作成。
------------------------
<入力チェック>Validation
Controllerに下記を記載する。
■@Validated
チェックしたいFormに付加する。
Formに下記を記載する。
■@NotNull
■@Max,@Min
■@Size(max=5,min=1)
■@Pattern
■
■
【Javaクラス】ビジネスロジック
-----------------------------
<単語>
■Model
データの値を格納
■redirect
■model
入っている値を画面(html)に返すための変数
■Map
Javaでキーと値をセットにして扱いたい時に使うデータ構造
■messages.properties
メッセージを設定する。このファイルからメッセージを取込み表示する。
[参考]
・設定手順
・バリデーションでの設定
■enum
[参考]
・基本設定~リスト設定
・ラジオ・チェックボックス
・enum値からデータを取得
■配列(Object型)
■List
■for
[参考]
・拡張for文...etc
----------------------------
<各条件>
■画面遷移
参考:構成
■セレクトボックスから値を取得
[参考]
・チェック、ボタン、セレクトから取得
【HTML】画面に表示する内容の設定
■h1~h6
見出しタグ・・・h1=大きい文字~h6=小さい文字
■span
グループ化タグ・・・表示する文字をグループ化して、文字色などを変える。
例)<span
style="color:red">赤色</span>
■div
グループ化タグ・・・文字の高さや幅、改行など、細かく設定できる。
参考サイト:https://saruwakakun.com/html-css/basic/div-span
■meta
■button(デフォルトtype=submit)
innerHTMLで見た目をcssで自由に設定できる。
└submitとbuttonの違い
submit・・・押しただけで送信される。
button・・・何も指定しなければ、押せるだけで、何も送信できない。
■input
[参考:type]
■form
入力・送信フォームの作成。
└ method
└ post・・・値のみを送信する。
サーバー側のデータを変更するような送信の場合。
└ get・・・サーバー側のデータを変更せずに取得する場合。
[参考:各属性、methodの違い]
■table
テーブル(表)を作成。
└ TR・・・行
└ TD・・・列
└ TH・・・見出し
[参考]
・テーブル、枠、CSS
・セル結合
■iframe
分割された各フレームに表示するファイルと表示方法を指定。
[参考:http://www.htmq.com/html5/iframe.shtml]
■submit
送信処理。押下時に即送信される。
[参考]
・
■メッセージ読み込み
[参考]
・html直接参照
・エラーメッセージ
■if
[参考]
・複数条件のif文
・空文字の判定方法
・真・偽判定
■block
[参考]
・block,each,if,with,
■#クラス名(ユーティリティオブジェクト)
[参考]
・#string,#objects・・・etc
■フラグメント
mainのhtmlに別のhtmlに記述している内容を呼び出して表示する。
[参考]
・
■each
■attr・・・定義されていない属性値の設定ができる。
■href(<a>タグの属性)・・・出発点を記述する。「到達点」として指定のできるのはname属性やid属性。
■style
・styleタグ・・・cssの中身をすべてHtml上に記載する。
・style属性・・・各タグにcssのプロパティを書き込む。
■$,#,@,*の使い方
■th:utext・・・改行コードを含む文字列で改行コードをエスケープせずに表示する。(messages.propertiesに定義している値も使用可能)
注意・・・XSS攻撃の危険有り
【その他】
■ポートの使用状況確認方法(8080)
https://qiita.com/hirorin/items/e26d3aec0bfc97b9a173
■ファイル内文字の文字化け
①ファイルの文字コード=UTF-8か確認。
②Eclipseの当該ファイルプロパティが
UTF-8か確認。
■色コード
■テーブル各行色分け
【CSS】文字色やフォント、固定文字の設定ファイル
・CSSの使い方(基礎)
【JavaScript】
■document
htmlの内容を取得する。
[参考]
・各種プロパティ、
・使用例/チェックボックス、ラジオボタン等
・各種プロパティ2
■function
[参考:function,ボタン,リンク,input]
■replace
置換
■値取得
■const
「定数」。値は再代入による変更はできず、再宣言もできません。
■if
■getElementById
【Eclipse】
■ショートカット
└ インシデント・・・Ctrl + i (範囲選択必要)
└ getter/setter・・・Alt + Shift + S → Generate getters and settersを選択
【DB接続手順】
①MySQLセットアップ~データベース・テーブル・ユーザー作成
参考:https://sibrog11.com/2020/04/27/mysql関連/
②設定ファイルの作成(java)
■application.properties・・・MySQL接続設定
■entity・・・テーブル情報設定
■Mapper・・・select等のsql文の設定
■controller・・・データの取得等の処理記述
■xml・・・select等のsql文の設定
■html・・・controllerから取得したデータを元に画面表示設定
参考:DBデータ表示
【XML】
■SQL文
[参考:update、update2]
■select、update、delete・・・etc
[参考]
・パラメータ
└ parameterType = "map"
Javaでキーと値をセットにして扱いたい時に使うデータ構造
[参考]
・select使用例