備忘録:些細な事いろいろ
こういうときはこうすりゃいいなやつを書いてく。
これからもなんかあったら随時追加予定。
◆キーボード入力が挿入モードでなく上書きモードになった
→キーボードのInsertボタンを押せばOK
InsertボタンがBackSpaceの上なので間違って押しちゃう
途中 JSP
JSP(Java Server Pages)は、サーブレットと同じくサーバーサイドプログラムの技術。サーブレットと同じく、ブラウザからのリクエストを受け取り、HTMLを出力してレスポンスとしてブラウザに返す。JSPはHTMLにJavaのコードを埋め込む形に書ける。サーブレットと比べて、HTMLの出力がラクな上、HTMLとJavaのコードを分離して書けるのでわかりやすい。
例:
<%@ page language="java contentType="text/html; charset=UTF-8"> <%@ page import="java.util.Date" %> <% Date date = new Date(); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>日付</title> </head> <body> 今日の日付は<%= date %>です。 </body> </html>
JSPファイル中の、HTML部分をテンプレート、Javaのコード部分をスクリプトという。
JSPファイルを構成する要素
備忘録:サーブレット①
サーブレットクラスの書き方
サーブレットクラスの基本的な書き方は下のとおり。例としてサーブレットクラス:KonchiwaServletを作成。
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class KonchiwaServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
サーブレットクラス作成の際には、守らないといけないルールがある。
①javax.servlet.http.HttpServletクラスを継承して作成すること
②HttpServletクラスのメソッド、doGetメソッドをオーバーライドすること
ブラウザからサーブレットクラスがリクエストされるとdoGetメソッドが実行される。doGetメソッドに引数として渡されるHttpServletRequestとHttpServletResponseはそれぞれブラウザからのリクエスト、ブラウザへのレスポンスに関係する情報と機能を持つインスタンス。
③サーブレット関係のクラスをimportする
サーブレットクラスを実行させる
ブラウザでサーブレットクラスのURLを指定してリクエストするとサーブレットクラスが実行できる。URLは以下の形式。
http://サーバ名/アプリケーション名/URLパターン
例:http: // localhost:8080/sample/SampleServlet
この時URLにはURLパターンというものを指定する必要がある。URLパターンはサーブレットクラスの中で設定する必要があり、サーブレットクラス名と同じものでもいいし、別の名前を設定もできる。
HTMLを出力させる
HTMLへの出力は、ブラウザへのレスポンスを表すHttpServletResponseインスタンスを通じて行う。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("..."); out.println("</html>");
エラー解決:
「スッキリわかるサーブレット&JSP」で学習中、サーブレットクラスを作成する段(3.3のところ)になってエラーが発生して詰まる。
エラーの内容は、アノテーションを利用するための javax.servlet.annotation.WebServletパッケージをimportしようとしてもそのパッケージは見つからないというもの。
「javax.servlet.annotation.WebServlet 見つからない」で検索したところ出てきた下の記事のとおりにしてみたら解決できました。ありがとうございます。
http://starscream.hatenablog.com/entry/20170308/1488974878