JDK は、OpenJDK をダウンロードして解凍して、C:\Java に設置したとします。 ( ※ ここでは、8 を使用しました ) ▼ 必要なレジストリエントリ( これを手作業で作成します )
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft] [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit] "JavaHome"="C:\\java"
XAMPP は、"C:\xampp" にインストールされているとします。 1) "C:\xampp\tomcat\conf\web.xml" の変更
<servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>xpoweredBy</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>trimSpaces</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>compilerSourceVM</param-name> <param-value>1.8</param-value> </init-param> <init-param> <param-name>compilerTargetVM</param-name> <param-value>1.8</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet>
※ trimSpaces を true にする事によって無駄な改行を省く事ができます( 強調部分を追加です ) ※ compilerSourceVM は、Java 8 の新機能を使うのに必要です。
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
※ この設定で、その仮想フォルダのファイルの一覧を表示可能にします 2) "C:\xampp\tomcat\conf\server.xml" の変更 ※ Tomcat7 のみ。Tomcat8 以降は必要ありません
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
ここまでで、いったん起動すると C:\xampp\tomcat\conf\Catalina\localhost が作成されます。 ※ 本文が UTF-8 で記述するという前提のお話です。( 8080 で検索してコメントでないエントリに追加 ) 3) ソースコードを配置する場所の定義 ※ "C:\xampp\tomcat\conf\Catalina\localhost" に以下のファイルを作成します。 ※ ソースコードを "C:\user\lightbox\tomcat" に lightbox.xml として作成するとします
<Context displayName="Web Application Home" docBase="C:\user\lightbox\tomcat" path="/lightbox" reloadable="true" useNaming="false"> </Context>
▼ 以下サンプルです sample_01.jsp
<%@ page language="java" contentType="text/html;charset=utf-8" %> <%! // ********************************************************* // ローカル関数 // ********************************************************* public String printFor( int count ) { String ret = ""; for( int i = 0; i < count; i++ ) { ret += String.format( "%d<br>", i+1 ); } return ret; } %> <% // ********************************************************* // ページ処理 // ********************************************************* request.setCharacterEncoding("utf-8"); String strField = request.getParameter("field"); if ( strField == null ) { strField = ""; } %> <!DOCTYPE html> <html> <head> <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"> <meta charset="UTF-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css"> <style> #main { padding: 30px; font-size: 24px; } form { margin-bottom: 20px; } </style> </head> <body> <div id="main"> <form method="get"> <input type="text" name="field" value="<%= strField %>"> <input type="submit" name="send" value="GET"> </form> <% out.println( printFor(15) ); %> </div> </body> </html>
sample_02.jsp request.setCharacterEncoding は、POST で必要でした。
<%@ page language="java" contentType="text/html;charset=utf-8" %> <%! // ********************************************************* // ローカル関数 // ********************************************************* public String printFor( String[] data ) { String ret = ""; for( int i = 0; i < data.length; i++ ) { ret += String.format( "%s<br>", data[i] ); } return ret; } %> <% // ********************************************************* // ページ処理 // ********************************************************* request.setCharacterEncoding("utf-8"); String strField1 = request.getParameter("field1"); if ( strField1 == null ) { strField1 = ""; } String strField2 = request.getParameter("field2"); if ( strField2 == null ) { strField2 = ""; } String[] month = {"睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"}; %> <!DOCTYPE html> <html> <head> <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"> <meta charset="UTF-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css"> <style> #main { padding: 30px; font-size: 24px; } form { margin-bottom: 20px; } .btn { vertical-align: top; } </style> </head> <body> <div id="main"> <form method="get"> <input type="text" name="field1" value="<%= strField1 %>"> <input type="submit" name="send" value="GET" class="btn btn-info"> </form> <form method="post"> <input type="text" name="field2" value="<%= strField2 %>"> <input type="submit" name="send" value="POST" class="btn btn-info"> </form> <div class="alert alert-primary"><%= request.getMethod() %></div> <% out.println( printFor(month) ); %> </div> </body> </html>
|
【java : JSPの最新記事】
- Tomcat 7(JSP) : 配列, ArrayList, ループ処理
- JDK がインストールされていない PC の XAMPP の TOMCAT を Pleiades の JDK8 で動作させる
- Pleiades All in One(NEON) で、サーブレットとJSP を作成する手順
- JSP : 実行中の .jsp と同じフォルダにあるファイルの実際のパスを取得する
- java(JSP) : テーブル名一覧と列名一覧の取得
- JSP : 単純なデータベースの更新( MySQL ODBC 5.1 Driver でDSNを作成しない接続 )
- javamail 1.4.4 + JSP でとにかくメール送信
- Tomcat7 のインストールと、すぐ簡単にJSPアプリケーションテスト( DB アクセス、入力等 )
- TOMCAT6 をインストールしてサンプルアプリケーションも自動登録する