MyBatisのif文
2019年9月4日 JavaMyBatisのif文で嵌ったのでメモ。
下記ではエラーになる。
なので下記のように書く。
equalsでJava構文の様に書くことで何とかなる。
下記ではエラーになる。
<id test="foo == ’var’">
なので下記のように書く。
<id test="foo.equals’var’)">
equalsでJava構文の様に書くことで何とかなる。
Tomcat起動時のエラー
2018年12月18日 JavaTomcat起動時にcatalina.outに以下のログが出力されていた。
「UnknownHostException 名前またはサービスが不明です」
原因はhostnameと/etc/hostsに記述されている自身のホスト名(127.0.0.1)の名称が一致しないためだった。該当箇所を変更して再起動したところ、無事解消された。
「UnknownHostException 名前またはサービスが不明です」
原因はhostnameと/etc/hostsに記述されている自身のホスト名(127.0.0.1)の名称が一致しないためだった。該当箇所を変更して再起動したところ、無事解消された。
Java処理速度の計測
2017年4月4日 JavaJavaを使っていて処理速度の計測を行うことがあった。
計測対象の処理がループ無いに存在していて、かつ同じループの内部で他の処理が行われていたため、以下の様に計測を行った。
計測対象の処理がループ無いに存在していて、かつ同じループの内部で他の処理が行われていたため、以下の様に計測を行った。
// 総計時間
long totalTime = 0;
for(...) {
// 処理開始直前
long startTime = System.currentTimeMillis();
// ここに調べたい処理
execute...
// 処理終了直後
long endTime = System.currentTimeMillis();
totalTime += endTime - startTime;
// ここに別の処理
...
}
System.out.println(totalTime);
Tomcatの設定メモ
2017年1月24日 Java コメント (2)TomcatのWeb.xml内にあるwelcome-fileを設定しておくと、末尾が/でディレクトリ検索を行われた時に遷移できる。大体index.htmlとかindex.jspになっているはず。
WebContent直下にhoge.doファイルを置いておくと、それに遷移出来る。
さらにその内部に特定のファイルへの自動遷移を書いておくと、そこに飛ばしてくれる2段構えも出来る。特定のリクエストパラメータを付与した状態で飛ばす場合は、hoge.doに追記が必要。
<welcome-file-list>
<welcome-file>hoge.do</welcome-file>
</welcome-file-list>
WebContent直下にhoge.doファイルを置いておくと、それに遷移出来る。
さらにその内部に特定のファイルへの自動遷移を書いておくと、そこに飛ばしてくれる2段構えも出来る。特定のリクエストパラメータを付与した状態で飛ばす場合は、hoge.doに追記が必要。
hoge.doの中身
<script type="text/javascript">
window.onload = function(){
var url = "login.php";
if(1 < window.location.search.length){
url = url + window.location.search;
}
window.location.href = url;
}
</script>
MIMEとファイルダウンロード
2016年11月22日 Javaファイルダウンロードに関するメモ。
※fooはファイル名。日本語(2バイト文字)の場合はエンコードが必要。
アンカーリンクに type="application/octet-stream"
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment; filename=" + foo);
※fooはファイル名。日本語(2バイト文字)の場合はエンコードが必要。
ELB下でのIPアドレスの取得
2016年10月11日 JavaAWSのELB(Elastic Load Balancing)下での接続元IPアドレスが取得できなかったのでメモ。
※X-Forwarded-Forの設定が行われている事が前提
※X-Forwarded-Forの設定が行われている事が前提
public String getSrcIP(HttpServletRequest req) {
String srcIp = req.getRemoteAddr;
return srcIp;
}
public String getSrcIP(HttpServletRequest req) {
String srcIp = req.getHeader("X-Forwarded-For");
return srcIp;
}
iBatisで日付を指定するときの注意
2016年10月3日 JavaiBatisを使用して以下の様な記述を行ったらエラーになった。
赤文字にあるように、シングルクォート内では#howMonth#が'値'として展開されてしまうため、下記の様にする必要がある。
#ではなく$を使用する。
select "COLUMN1"
from "TABLE_NAME"
where "COLUMN2" = #var#
and "UPDDATE" >= now() - interval '#howMonth# month'
赤文字にあるように、シングルクォート内では#howMonth#が'値'として展開されてしまうため、下記の様にする必要がある。
select "COLUMN1"
from "TABLE_NAME"
where "COLUMN2" = #var#
and "UPDDATE" >= now() - interval '$howMonth$ month'
#ではなく$を使用する。
再起動できない時のメモ。
モノをあれこれ入れ替えたので、再起動を試みる。
service tomcat restart
どうも再起動に失敗しているようなので調べてみた。
ps axu | grep "tomcat" で既にtomcatは起動していない。
tomcat.pid でPIDを確認するが、ps -e | grep "tomcat" でPIDを確認すると何も出ていない。そんな訳で残骸ファイルっぽい tomcat.pid を削除する。
rm ./tomcat.pid
tomcat is not running になっている事を確認する。
これで再度 service tomcat restart で起動できた。
モノをあれこれ入れ替えたので、再起動を試みる。
service tomcat restart
Shutting down tomcat
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/default
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /var/run/catalina.pid
PID file found but no matching process was found. Stop aborted.
どうも再起動に失敗しているようなので調べてみた。
ps axu | grep "tomcat" で既にtomcatは起動していない。
tomcat.pid でPIDを確認するが、ps -e | grep "tomcat" でPIDを確認すると何も出ていない。そんな訳で残骸ファイルっぽい tomcat.pid を削除する。
rm ./tomcat.pid
tomcat is not running になっている事を確認する。
これで再度 service tomcat restart で起動できた。