- PR -

簡単なDBプログラミングについて

1
投稿者投稿内容
とってぃ
会議室デビュー日: 2005/06/28
投稿数: 8
投稿日時: 2006-01-05 16:30
はじめまして。

とってぃ@JAVA初心者です

どなたかご教授願います。
ブラウザにDBから取得した値を表示したいのですがなかなかうまくいきません…
ログには,
「org.apache.jasper.JasperException: /Disp.jsp(3,0) useBeanのクラス属性 ArrayList の値が無効です」
と表示されてることまで確認したのですが,どうすればいいのか分かりません。
また,同じことをやりたいなら,こういった方法がより実践的だよ!ということが
あれば,教えてください。

・環境
JDK1.5
TOMCAT5.5
Apache2
MySQL4

■DbTest.html
-----------------------------------------------------------------------
〜省略〜
<FORM method="post" action="./servlet/DbTestSrv">
<INPUT type="submit" value="表示">
</FORM>
〜省略〜
-----------------------------------------------------------------------

■DbTestSrv.java
-----------------------------------------------------------------------
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;

public class DbTestSrv extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException,IOException{
try{
ServletContext sc = getServletContext();
res.setContentType("text/html; charset=Shift_JIS");
req.setCharacterEncoding("Shift_JIS");
DbSrc ds = new DbSrc();
ArrayList<DbPara> list = ds.serch();
//ログに出力
Iterator it = list.iterator();
while(it.hasNext()){
DbPara dp = (DbPara)it.next();
System.out.println(dp.getId());
System.out.println(dp.getOs());
}
req.setAttribute( "list",list );
String jspStr = "/Disp.jsp";
RequestDispatcher rd = sc.getRequestDispatcher(jspStr);
rd.forward(req,res);
}catch(Exception e){
System.out.println(e);
}
}

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException{
doGet(req,res);
}
}
-----------------------------------------------------------------------

■DbSrc.java
-----------------------------------------------------------------------
import java.sql.*;
import java.util.*;
class DbSrc{
private final String TABLENAME = "tips_tb";

//検索メソッド
public ArrayList<DbPara> serch() throws SQLException,Exception{

String sql = "SELECT * FROM " + TABLENAME + " ORDER BY id";
DbAccess da = new DbAccess();
Statement stmt = da.getStatement();
ResultSet rs = stmt.executeQuery(sql);
ArrayList<DbPara> arryList = new ArrayList<DbPara>();

//検索結果をセットする
while(rs.next()){
DbPara DP = new DbPara();
DP.setId(rs.getInt("id"));
DP.setOs(rs.getString("os"));
arryList.add(DP);
}

return arryList;
}
}
-----------------------------------------------------------------------



■DbPara.java
-----------------------------------------------------------------------
class DbPara{
private int id;
private String os;

public void setId(int Id){
this.id = Id;
}
public void setOs(String os){
this.os = os;
}
public int getId(){
return id;
}
public String getOs(){
return os;
}
}
-----------------------------------------------------------------------



■Disp.jsp
-----------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="list" scope="request" class="ArrayList" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>検索一覧</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" contetnt="text/css">
</HEAD>
<BODY>
<FORM method="post" action="/TestAp/servlet/TipsSrv">
<TABLE border="1">
<TR>
<%
Iterator it = list.iterator();
while(it.hasNext()){
DbPara dp = (DbPara)it.next();
%>
<TD><%=dp.getId() %></TD>
<TD><%=dp.getOs() %></TD>
</TR>
<%
}
%>
</TABLE>
</FORM>
</BODY>
</HTML>
-----------------------------------------------------------------------
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2006-01-05 16:36
引用:

<jsp:useBean id="list" scope="request" class="ArrayList" />



コード:
<jsp:useBean id="list" scope="request" class="java.util.ArrayList" />


では?
とってぃ
会議室デビュー日: 2005/06/28
投稿数: 8
投稿日時: 2006-01-05 17:15
>ふーばーさん
ありがとうございます

エラーが変わりました。
-----------------------------------------------------------
JSPファイル: /Disp.jsp の中の16行目でエラーが発生しました
生成されたサーブレットのエラーです:
DbPara cannot be resolved to a type
-----------------------------------------------------------

またもや,?って感じです…
ググッてみます。
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2006-01-05 17:22
引用:

エラーが変わりました。
-----------------------------------------------------------
JSPファイル: /Disp.jsp の中の16行目でエラーが発生しました
生成されたサーブレットのエラーです:
DbPara cannot be resolved to a type
-----------------------------------------------------------

またもや,?って感じです…
ググッてみます。



メッセージそのまんまです。
「そんな type (クラス) 知らないよ」ってことです。
import しないと。
とってぃ
会議室デビュー日: 2005/06/28
投稿数: 8
投稿日時: 2006-01-08 15:00
importに何故かやたらと手間取りましたが,なんとかできました…

ありがとうございました。
1

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