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 をインストールしてサンプルアプリケーションも自動登録する


JDK は、



