適当に・・・

何の目的も無くブログを立ち上げてみました。更新は不定期ですね。

java フレームワーク

2009年09月23日 00時09分48秒 | JAVA
java のフレームワークを
使った仕事をやることになった。

しっかり勉強してないのと、今の環境が
エディタでゴリゴリ、生のソースコードを
書いてリリースみたいな仕事をやってたので
相当ヤベー

世の中から相当遅れた感がある。


struts = プレゼンテーション層とコントロール層担当
spring = ビジネスロジック層とデータベース層を担当
o/rマッパはspringにくっついてる?Hibanateを使用

springのウリのDIコンテナってーナニ?w
依存性注入コンテナ?わけわからん。

とりあえずstrutsと
springを触らなければ・・・・orz
半月で覚えられるのか?w

じゃ早速と思ってマシンを立ち上げたら・・・
・・・・・・
モニターつかない。www
こういう時間の無いときに限って
amazonでお急ぎ便で
ベンキュー BenQ 24型 LCDワイドモニタを購入。
急な出費が痛い。まー2万ぐらいだからな。
モニターも大きくなったし。

そして、Oh No~
使うtomcat のバージョンすら変わってるw
tomcat4じゃなくtomcat5ですってよー

作法がようわからん。

struts1系のサンプルをダウンロードしてきて
{tomcat_base}/webappsの下に.warファイルを突っ込む
tomcatを起動する。
これは動く。

コンテキストパスを変更したい。
server.xmlにcontext path=の記述を書く。
すでにこれが間違い。
tomcat5系からなのか?

{tomcat_base}/conf/Catalina/ホスト名/の下に
対象のコンテキストパス.xml見たいな物を作るらしい。
({tomcat_base}/conf/server.xml の Host に Context タグを一つでも入れると、
{tomcat_base}/conf/Catalina/ホスト名 に入れた xml で定義した Context はロードされないらしい。コレはまるだろ。。。)

サンプルにstruts-test.xmlの内容

<?xml version="1.0" encoding="UTF-8"?>

<Context path="/struts-test" docBase="/hoge1/hoge2/hoge3" debug="0" reloadable="true" />
みたいな感じで記述

さすがに10年前の情報じゃもう戦えねーw

struts-1.3.10-all.zipダウンロードしてきて
libの配下を対象のlibに全部コピー(もう、何も考えない。)

jspを作成して
beanを作成して
Actionを継承したクラスを作って
ActionFormを継承したクラスを作る。
やたらxmlファイルを書いてxml地獄な気がする・・・・

リソースファイル変換
日本語のリソースを作らないとエラーが・・・

native2ascii -encoding=MS932 hoge_ja.txt hoge_ja.properties

として変換する。
(もちろんhoge_ja.txtがWindowsで書いた場合のエンコード指定よコレ)

struts1.3からtaglibの書き方が変更になってる。
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/logic" prefix="logic" %>

(※注意 カッコを全角にしてるから本当は半角 )

java テンプレートエンジン

2009年07月21日 14時32分23秒 | JAVA
javaのテンプレートエンジンって言うと
Velocityしか知らなくて、
使ったのももう7年ぐらい前。

Velocity + Enhydraでシステム構築した覚えがある。
(そしてそのシステムは、個人情報保護の観点から一度も使われることなく
マイグレーションもしくは新規設計しなおしになると思う。)

今、会社でJSPを使って運用してるがー
これまた糞w

同じような記述で少しずつ違うページがほしいからと
コピーをバンバン作る。
そして、挙句の果てにはページが多いのでメンテナンスできません。
変更には時間がかかります等の言い訳を放つ。

学生さんもびっくりな回答。
金もらってプログラム書いててプロ意識がない。
向上心がない。まー休み時間に会社の回線でFX取引してるような感じだからね。
そして、そいつがページのチェックをしてる。

で、JSPもそいつが書いてて前述のような状態。

少しテンプレートエンジンの調査をしたら
Velocity以外にFreeMarkerっていうのがあった。

サンプルを真似て、
JSPからFreeMarkerを吐き出すものを作ってみた。
(JSP使うならテンプレートいらなくね?という疑問はあるかもしれないが。
Servletを使いMVCを使うと言うことができない環境にあるw)

見た目を修正するのにもゴリゴリJSPのプログラムを
いじるのが普通と思ってる。
会社でスゲーストレスを感じる今日この頃。

だまって8時間座ってればいいんだけどさー。
そうすりゃ給料もらえるけどさー。
効率が悪いんだよ。

今日は愚痴になったかな。
たまには、こういう日もあるか。

JRockit

2009年02月02日 19時16分33秒 | JAVA
JRockit

うちのサーバは
apache1.3+tomcat4.1+mod_jkで動かしてるんだけれど、
JavaVMはSunのjdkじゃなくJRockitを使っていた。

だけど今日ダウンロードしようとしたら
Oracleに飛ばされた。
なんかBEAがOracleに買収されて、
JRockitもOracleJRockitと名前が変わっていた。

URL
http://www.oracle.com/technology/global/jp/software/products/jrockit/index.html



Oracle JRockit Real Time 3.0ってのをダウンロードした。

SunのJavaVMより早いと思ってるのだが、本当の所どうなのだろう?
(Stringの扱いでより多くメモリを消費するとか色々書いてあったりするけど、
検証するのが一番なのかねぇ?)

他力本願だから、誰か調べてくれてるのを
ふ~んと眺めるのがすきなんだけどね~。

google大先生に聞いてみるか。

jsp で sendRidirect で 301 を 返す 方法

2008年10月12日 18時50分39秒 | JAVA
jspで301のsendRidirectのを返す方法。

厳密にはsendRidirectではないけど。
sendRedirectメソッドは次の場合と同じ。

response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
response.setHeader("Location", "http://www.yahoo.co.jp/");

つまり
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", "http://www.yahoo.co.jp/");

みたいにすると301のレスポンスが返る。
スゲー遅いけどSEO対策な訳。