Java

jarファイルを修正する

jarファイルの中身を修正したい場合は以下の通り。解凍はzipと同じだが、jarに戻すのはコマンドで行う必要がある。 解凍 windows標準の7zipで解凍する。 右クリック「7zip」⇒「展開」 jarに戻す jarコマンドで解凍したjarを圧縮する。 rem 解凍したフォルダ…

SimpleDateFormatのYYYY

SimpleDateFormatの引数にYYYY(大文字)と渡すのとyyyy(小文字)渡すのでは年末の日付の挙動が異なる。 yyyy・・・年 (こちらを使うべき)YYYY・・・暦週の基準年 (新年度の1月1日と同じ週に属する日については、新年度に属するとする考え方) 例えば「2012/12/3…

JmeterでHTTPリクエストの挙動を取得

Jmeterで動作するプロキシを経由させることでHTTPリクエストの挙動を取得できる。設定方法・確認方法は以下の通り。 1.新しい「スレッドグループ」を作成する 2.「ロジックコントローラ」→「記録コントローラ」を作成する 3.「Non-Testエレメント」→「…

Jmeterの実行

Jmeterでリクエストの負荷テストを実行したのでメモ。 設定しないといけないもの1.スレッドグループ・・・スレッド(同時実行)の数、ループ数を指定する 2.サンプラー・・・テストしたい挙動を指定する。今回は以下の内容でHTHPリクエストを指定した。 プ…

Jmeterのインストール

Jmeterをダウンロード、起動まで実施したのでメモ ①以下のサイトにアクセスする https://jmeter.apache.org/download_jmeter.cgi ②以下をダウンロードし、解凍する apache-jmeter-5.3.zip③jmeterを日本語で起動する →解凍したフォルダのbin配下に以下のバッ…

iBATIS

SQLクエリをオブジェクトにマッピングする永続性フレームワーク。SQLクエリはXMLファイルに記載する。 他のO/Rマッピングはデータベースオブジェクトとマッピングするものがあるがそれらとは異なりSQLクエリとオブジェクトをマッピングするのが特徴。 2010年…

ヒープサイズ

javaの実行時にヒープサイズを指定することができる。 Xms ・・・ ヒープ全体の初期値 Xmx ・・・ ヒープ全体の最大値 サーバーのメモリ量を超えるような値は設定しないこと。 また、32bitOSでは最大2GBが上限となる 設定例 -Xms2048m -Xmx2048m

The JSP specification requires that an attribute name is preceded by whitespace

JSPの属性と属性の間にスペースが入っていないときに発生するエラー。 Tomcat7より前(Tomcat5とか)では問題なく動いていたが、Tomcat7からエラーになるようになった。 ソース例) 誤 flushの前にスペースがない <jsp:include page="hoge.jsp"flush="false"/> 正 <jsp:include page="hoge.jsp" flush="false"/> 動作確認環境:Tomcat7</jsp:include></jsp:include>

UserDatabase でユーザデータベースを検索中の例外です

eclipseよりtomcatを起動しようとすると上記のエラーが発生するようになった。 PCを再起動しても治らず・・・・ 色々と調べてみるとconf/にあるtomcat-users.xmlに中身が空になっていたので バックアップより元に戻したら解決した。 たぶん、Tomcatの起動中…

ApacheとTomcatの違い

それぞれの特徴は以下の通り Apache ・Webサーバ ・Tomcat単体より高機能(クラスタリング、キャッシュ、アクセスコントロールなど) ・静的なページ(html)の処理がTomcat単体より高速 Tomcat ・アプリケーションサーバ(Jsp、サーブレットを動かすのに必要) ・…

Iterator

ふと、HashMapやArrayListからの値を取得するときになぜIteratorを使用するのか? というのをきちんと説明できないと思ったので整理してみた。 理由1、統一されたインターフェースを使用できる(可読性があがる) 理由2、コレクションクラスの実装を知らなく…

Decorator

既存のクラスの機能を拡張したいが、 既存のクラスは変更したくない場合に間にDecoratorクラスを用いる。 BaseClass.java (既存のクラス) package gof; public class BaseClass { private int width; private int height; // コンストラクタ public BaseClas…

Adapter

既存のクラスのインタフェースを変更したいが、 既存のクラスは変更したくない場合に間にadapterクラスを用いる。 BaseClass.java (既存のクラス) package gof; public class BaseClass { private int width; private int height; // コンストラクタ public …

Mediator

画面の項目の状態などを一括してとりまとめるパターン。 Disableの制御などで使用するとよい。 MediatorLab.java package gof; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swin…

Template Method

Templateとなるクラスを用意し、必ず実装しなければならないメソッドを明示する。 TemplateClass.java (テンプレートとなるクラス) package gof; abstract class TemplateClass { // abstractで定義されたメソッドは実装必須にする。 abstract protected voi…

InterStageのデバッグ 2

APWorksでデバッグを行おうとした際、warファイルを配置したままの場所にクラスを置いているとデバッグができないことがある。 以下の手順でAPWorksの出力先クラスとマッピングを行わないといけない。 1.warファイルで自動的に配置されたclassesとlibを別フ…

InterStageのデバッグ方法

1.ウインドウ→ビューの表示→「IJServer」ビューを開く 2.デバッグで起動したいワークユニットを選択 →IJServerをデバッグで起動(既に起動している場合、一度停止) 3.デバックしたいソースにブレークポイントをセット 4.実行

Javaのデコンパイラ

○FrontEnd PlusJadのサイト http://www.kpdus.com/jad.html ○DJ Java Decompilerシェアウェア。試用には登録が必要?

GETとPOSTの違い

GETとPOSTはHTTPのメソッド。違いは以下の通り。 GET ・元々はファイルの取得に使用するためのもの ・URIにデータを付加する(長いデータの送信には不向き) ・ブラウザにURLを入力した際やリンクなどでの呼び出しはGET POST ・元々はサーバへデータを送信する…

ファイルのダウンロード

ボタンを押下するとファイルをダウンロードするサンプル download.jsp <html> <script language='javascript'> function fncDownLoad(){ document.form1.submit(); } </script> <form name ="form1" action="/harada/DownLoad" method="post"> <body> ダウンロードはこちら↓<br> <input type='button' value='download' onclick='fncDownLoad()'/> </body> </form></html>

リフレクション2

リフレクションを利用したメソッドの呼び出し例 package harada; import java.lang.*; import java.lang.reflect.*; import java.net.InetAddress; public class getMethodLab { public static void main(String[] args) { Object value = null; try{ // ク…

サーバ名、接続ホスト名の取得

以下、動作しているサーバと接続元ホストを出力するサンプル。 hostLab.jsp <%@ page contentType= "text/html; charset=MS932" %> <%@ page import="javax.servlet.http.HttpServletRequest" %> <%@ page import="javax.servlet.http.HttpSession" %> <%@ p…

xPath

xPathとはXML文書から条件に該当したものを取り出す仕様のこと。 以下、Javaでのサンプル。 XpathLab.java package harada; import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; import org.w3c.dom.traversal.*; import org.apache.xpath…

テキストファイル出力

簡易ログ出力サンプル simpleLogOutput.java package harada; import java.io.File; import java.io.FileWriter; import java.io.IOException; class simpleLogOutput{ public static void main(String args[]){ //ログ出力メソッド呼び出し logOutput("hara…

Interstageのデプロイ

1.InterStage管理コンソールを開く (http://localhost:12000/IsAdmin) デフォルトのユーザはOSのログインユーザ/パスワードと同じ 2.「ワークユニット」タブより「新規作成」でワークユニットを作成する。 3.「配備」タブより配備するファイル(.war)を指定す…

synchronized 修飾子

・・・メソッドにsynchronized修飾子を付けるとそのメソッドは1つのスレッドからしか実行されなくなる。 あるスレッドが実行中に他のスレッドがそのメソッドを呼び出した場合、前のスレッドの処理が終わるまで待機する。 synchronized ブロック・・・このブ…

Singleton

システム内にインスタンスがひとつしか存在させなくする。 SingletonClass.java (シングルトンのクラス) package harada; import java.util.*; /* * Singltonのクラス */ public class SingletonClass { //自分自身を保持する変数 private static SingletonC…

InterStageからwarファイルを作成する手順

※たぶんeclipseと同じ、、はず。。 1 新規⇒プロジェクト⇒「Webアプリケーション」を選び「次へ」 2「プロジェクト名」を入力 3 Javaビルド設定は必要なライブラリの参照がなければ特に変更せずに「次へ」 4 生成するコードを選択では「コード生成は行わ…

PropertyDescriptor

PropertyDescriptorクラスを使用するとBean規約に則っている setter、getterを取得することができる。 main.java package harada; import java.lang.Object; import java.beans.PropertyDescriptor; import java.lang.reflect.*; import java.beans.Introspe…

Apworksでの開発環境のインポート

基本、eclipseと同じはず。以下作業内容をメモ。 1.空のプロジェクトを作成 新規⇒プロジェクト⇒Webアプリケーションプロジェクト ⇒空のプロジェクトを作成 2.ファイルをインポート インポート⇒ファイルシステムでインポートしたいフォルダを選び、チェッ…