- PR -

StrutsによるDBアクセスエラー?

1
投稿者投稿内容
まつじん
ベテラン
会議室デビュー日: 2005/12/02
投稿数: 54
投稿日時: 2005-12-02 16:56
初めまして。まつじんと言います。
現在、Strutsを使ってDBに接続しようとしています。
環境は
WindowsXP
Struts1.1
J2SDK 1.4.2
mySql 3.25.49

エラーは
org.apache.jasper.JasperException と
java.lang.NullPointerException
のエラーがでます。
eclipseでデバックをして追いかけてみたところ
下記の場所で出ているようでした。
---------------------------------------------------------
public class SendMessageAction extends Action {

public ActionForward execute(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {

//FORMを取得
SendMessageForm sendMessageForm = (SendMessageForm)form;

//FORMの入力した情報を取得
String name = sendMessageForm.getName();

//DB関係
DataSource dataSource = null;
         Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;

try{

dataSource = getDataSource(request);
エラー箇所→conn = dataSource.getConnection();

//staff_idの最大値を取得
String selectSql = "SELECT staff_name,session_name FROM EMP";
pstmt = conn.prepareStatement(selectSql);
------------------------------------------------------------------------

自分ではエラーをプロパティでヌルが返っている?と勝手に解釈して
Struts-config.xmlのdata-sourceの値を確認しましたが
問題ないように思えました。ちなみに下記がStruts-config.xmlの記述になります。
何か気づく点がありましたら、教えていただけますでしょうか。
------------------------------------------------------------------------
<data-source>
<set-property
property="driverClass"
value="com.mysql.jdbc.Driver"/>
<set-property
property="url"
value="jdbc:mysql://localhost/struts?useUnicode=true&characterEncoding=SJIS"/>
<set-property
property="autoCommit"
value="false"/>
<set-property
property="description"
value="Example Data Source Configuration"/>
<set-property
property="maxCount"
value="4"/>
<set-property
property="minCount"
value="2"/>
<set-property
property="user"
value=""/>
<set-property
property="password"
value=""/>
</data-source>
---------------------------------------------------------------------------


[ メッセージ編集済み 編集者: まつじん 編集日時 2005-12-02 16:57 ]

[ メッセージ編集済み 編集者: まつじん 編集日時 2005-12-02 17:10 ]

[ メッセージ編集済み 編集者: まつじん 編集日時 2005-12-02 17:11 ]
lei2
会議室デビュー日: 2005/06/22
投稿数: 19
お住まい・勤務地: 東京都23区内
投稿日時: 2005-12-02 17:26
思いついた限りで。

mysqlのサービスが開始されていますか?
DOSプロンプトからmysql.exeを実行したときにmysqlに入れますか?
ユーザーとパスワードはいらないんですよね?
URIでポート番号の指定なしで大丈夫?

私ならこういうときはまずDB関連を確認すると思います。
それから、ソースコードを疑ってみるっていう順番で。
まつじん
ベテラン
会議室デビュー日: 2005/12/02
投稿数: 54
投稿日時: 2005-12-02 17:34
lei2さん返答ありがとうございます。
lei2さんに言われたような
mysqlのサービス確認、mysqlのログイン確認、ユーザーとパスワード確認
を再度行いまして、
URlでポート番号を入れて試してみましたが、DB関連は大丈夫でした。
まつじん
ベテラン
会議室デビュー日: 2005/12/02
投稿数: 54
投稿日時: 2005-12-02 18:49
みなさん。すみません(m__m)
原因が分かりました。
eclipseの見方を間違っており、エラーが出ている場所が違っていました。
実際、落ちている箇所はJSPで値を表示している箇所でした。
ちなみにJSPの修正は無事終了しました。
本当に申し訳ありません。



[ メッセージ編集済み 編集者: まつじん 編集日時 2005-12-05 15:35 ]
1

スキルアップ/キャリアアップ(JOB@IT)