2014年6月25日水曜日

javaで、renameToを使うとき気を付けること

renameToを使ってServletを作っていた時のことです。
windowsでは、うまくファイルの移動ができていたのに、
Linuxで動かしたら、うまくいかないという現象に悩まされました。
権限の問題?だろうかといろいろ試行錯誤しても、結局うまくいかず。
例によってネットの情報を探していたら解決策がありました。

http://kaede.jp/2014/04/05170305.html
この情報で救われました。
moveFileだと、Linuxでもだいじょうぶであることが判明。
なんとか解決しました。
Javaもなかなか難しいものです。

wdCalendarを試してみた

GoogleカレンダーのクローンタイプのソフトでwdCalendarというものがあったので
試してみた。認証も不要で、施設、備品貸し出し簿などに使うと便利そうである。

こちらのリンクがとても参考になりました。
http://web.chaperone.jp/w/index.php?jQuery%2FwdCalendar
ただ、若干、手直しが必要でした。

apache2のerror.logを参考に、
dbconfig.phpの11行目で :を;に修正
また、mysqlで使うために mysqlの設定に書き換えました。(コメントを参照すればOk)
そして、これでOkかと思いきや、、削除ができません。
なかなか、原因がつかめずにいましたが、、
どうやら、function removeCalendar という関数の中のDeleteのためのqueryの記述が
なぜか違っていたようです。

function removeCalendar($id){
  $ret = array();
  try{
    $db = new DBConnection();
    $dbh= $db->getConnection();
    $sql = "delete from ".$db->getTbl()." where `id`=" . $id;
       if(mysql_query($sql)==false){→これを→   if($dbh->query($sql)==false){
    と直したらうまくいきました。




2014年6月21日土曜日

cokkie 全角を扱うには

Javaで全角のクッキーを扱うには少し手間がかかる。

servletでも、JSPでも
 request.setCharacterEncoding("UTF-8");を入れないとだめだようだ。

あとは
Cookie cookie = new Cookie("filtermoji",URLEncoder.encode(filtermoji, "UTF-8"));
といった感じだ。


デコードは
 sfiltermoji = URLDecoder.decode(filtermoji.getValue(),"UTF-8");
となる




eclipseの使い方

eclipseの使い方になかなか慣れない。

他環境で開発したものを配備すると、その都度
ライブラリの参照として、tomcatのライブラリ(外部jarの追加で)、独自のライブラリ(jarの追加)、JREなど追加必要なようだ。
コンパイラの設定で、JDKのバージョン変更すると、再度 すべて ビルドしなおすようだ。

また、JAVAのビルドパスの確認も必要。(ソースのフォルダと出力フォルダの設定など)
これらがきちんと設定なっているか確認が必要なようだ。

また、tomcatのホームもきちんとなっているか、確認が必要。
ウインドウ>設定>Tomcatで確認できる。これが、実際にソースやコンパイル済みの
ものがあるところと同じ所を指定してないと、ソースを変更しても、反映されないという
変なことになってしまう。


たぶんもっと簡単にやる方法があるのだろうが、、、。

2014年6月14日土曜日

sqlite3のインストールできない>やっと解決

 sqlite3 --versionとすると

SQLite header and source version mismatch
が表示される。
いろいろ調べてみるが、なかなか解決できない。


ようやく参考サイトを見つけた。
http://www.railstation.eu/blog/artikel/compiling-sqlite-on-ubuntu

それによると
 find /usr/lib/i386-linux-gnu -name 'libsqlite3.so.*'
とすると、
/usr/lib/i386-linux-gnu/libsqlite3.so.0
/usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
が表示される。
すでにあるものがじゃましているらしい。

/usr/localの中にインストールしているので、それを使う必要がある。
そこで、古いものを削除して、シンボリックをはるといいようだ。
> rm $( find /usr/lib/i386-linux-gnu/ -name 'libsqlite3.so.*' )
> ln -s /usr/local/lib/libsqlite3.so.0.8.6 /usr/lib/i386-linux-gnu/libsqlite3.so.0

※PCのエラーに関しては、あきらめず、情報を探すと誰かがアップしてくれているものです。感謝!ただし、国内だけとは限らないので、改めて、もう少し英語力をつけておけば、、と感じる今日この頃。

2014年6月13日金曜日

tomcatのデプロイの失敗

 サーバーにtomcatのアプリケーションマネージャーを使っても、うまくデプロイできない現象が起こりました。これで、かなりはまってしまいました。ログファイルをチェックして、サイトで調べました。
 どうやら、javaのバージョンが、開発環境と、サーバー環境で一致しないとそういうことが起こることらしいと言うのはわかってきたのですが、試しに、サーバのjavaのバージョンを上げてもうまくいかないので、どうしたものかと、、。
 結局、eclipseのWindow>設定>java>コンパイラーで、1.6にしたらうまくいったようです。たまたま、WIN8で、1.7のもので、コンパイルしたものが、残っていたのが原因だったようです。
 これに気づくのに4日間くらいかかってしまいました。