Home > Archives > 2010-03
2010-03
Java: ServletからJSPへリクエストをフォワード
- 2010-03-26 (金)
- Java
目的
Servletで処理した結果をJSPファイルに転送し、HTMLを生成する。これによって、MVCモデルにおけるViewの分離ができる。
方法
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
ArrayList<String[]> table = new ArrayList<String[]>(); // 転送データ
<中略>
req.setAttribute("table", table);
req.getRequestDispatcher("jsp/view.jsp").forward(req, res);
上記のServletコード上のtableという変数をview.jspに渡したす場合、HttpServletRequest #setAttributeで変数を登録し、getRequestDispatcherとforwardでリクエストをフォワードする。
JSP側で登録した変数を取り出すには、下記のコードを用いる。
<% ArrayList<String[]> table = (ArrayList<String[]>)request.getAttribute("table"); %>
- Comments: 0
- Trackbacks: 0
Java: 形態素解析Senをインストール(Windows編)
- 2010-03-25 (木)
- Java
ダウンロードするソフト
1.ActivePerl(ActivePerl, Download Perl for Windows, Mac, Linux, AIX, HP-UX & Solaris)
2.Apache Ant(Apache Ant - Binary Distributions)
3.Sen(sen: ドキュメント & ファイル: release)
ActivePerlはインストーラーに従いインストールする。
ダウンロードしたAntとSenはC:\work以下に解凍し、フォルダ名をそれぞれapache-ant、senとリネームする。
環境変数の設定
PATH(追加) C:\work\apache-ant\bin;
ANT_HOME C:\work\apache-ant
SEN_HOME C:\work\sen
JAVA_HOME C:\Sun\SDK\jdk
この後、上記の環境変数が適応されているか下記のコマンドを用いて確認する。
C:\>echo %ANT_HOME% C:\work\apache-ant (←OK、パスが適応されている)
適応されていなければ再起動する。
辞書のインストール方法
カレントディレクトリをdicに設定後、辞書をインストールする。
C:\>cd work/sen/dic (←カレントディレクトリを移動) C:\work\sen\dic>ant -Dperl.bin=C:\Perl\bin\perl.exe (←辞書のインストール) Buildfile: C:\work\sen\dic\build.xml <中略> BUILD SUCCESSFUL Total time: 1 minute 2 seconds C:\work\sen\dic>
動作確認
%SEN_HOME%\sen.batをダブルクリックする。
C:\work\sen\bin>rem set classpath C:\work\sen\bin>SET CLASSPATH=C:\work\sen\lib\sen.jar C:\work\sen\bin>SET CLASSPATH=C:\work\sen\lib\sen.jar;C:\work\sen\lib\commons-logging.jar done. Please input Japanese sentence: 2010/03/25 0:29:44 net.java.sen.Dictionary情報: token file = C:\work\sen\dic/token.sen 2010/03/25 0:29:44 net.java.sen.Dictionary 情報: time to load posInfo file = 16[ms] 2010/03/25 0:29:44 net.java.sen.Dictionary 情報: double array trie dictionary = C:\work\sen\dic/da.sen 2010/03/25 0:29:44 net.java.sen.util.DoubleArrayTrie load 情報: loading double array trie dict = C:\work\sen\dic/da.sen 2010/03/25 0:29:45 net.java.sen.util.DoubleArrayTrie load 情報: loaded time = 0.453[ms] 2010/03/25 0:29:45 net.java.sen.Dictionary 情報: pos info file = C:\work\sen\dic/posInfo.sen 2010/03/25 0:29:45 net.java.sen.Dictionary 情報: time to load pos info file = 0[ms] 2010/03/25 0:29:45 net.java.sen.Tokenizer loadConnectCost 情報: connection file = C:\work\sen\dic\matrix.sen 2010/03/25 0:29:45 net.java.sen.Tokenizer loadConnectCost 情報: time to load connect cost file = 141[ms] hello hello (hello) 未知語(0,5,5) null null こんにちは こんにちは (こんにちは) 感動詞(0,5,5) コンニチハ コンニチワ
- Comments: 0
- Trackbacks: 1
Java, Servlet: No suitable driver found for "~" の原因と解決法
- 2010-03-24 (水)
- Java
事象 - NullPointerException on java.sql.Connection
JDBCを用いてServletからMySQLのテーブルへアクセスする過程で、DriverManager.getConnectionメソッドの呼び出しの後、NullPointerExceptionが送出された(アプリケーション・サーバーはTomcat)。
<前略>
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USER, PASS);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("<SQL文>");
<後略>
原因 - No suitable driver found for "~"
デバックトレースを行ったところ、No suitable driver found for "~"というメッセージが出力されていた。JDBC Driver のクラスパスを設定していなかった為、今回のエラーが発生した。
対策 - JDBC Driverのクラスパス設定
JDBC Driver ファイル(.jar)をクラスパスに追加する。Eclipse上での設定方法は「実行」→「実行の構成」から「クラスパス」タブ内の「ユーザー・エントリー」を選択、「外部JARの追加」ボタンから、Driverを設定する。
雑感
ありがちー、なミスをしてしまったー。
- Comments: 0
- Trackbacks: 0
Android: mksdcardコマンドのabortingの解決法 - could not create file '...', aborting...
- 2010-03-14 (日)
- Android
下記のコマンドを入力したら、abortされてしまった。
C:\>mksdcard 256M C:\work\sdcard\sdcard.img could not create file 'C:\work\sdcard\sdcard.img', aborting...
原因はフォルダsdcardを作成してなかった為。SDカードイメージの作成先のフォルダは予め作っておく必要がある。
フォルダ作成後改めてコマンドを入力すると上手くいった。
C:\>mksdcard 256M C:\work\sdcard\sdcard.img C:\>
- Comments: 0
- Trackbacks: 2
Home > Archives > 2010-03
