- - PR -
servlet→db→jspの連携について
1|2|3|4
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-13 09:26
はじめまして。java初心者です。
windowsにてサーブレットでデータベースにアクセスして取得したデータをjspで表示、そこから情報を格納したり変更したりしたいのですが、サーブレットをどの様に作れば良いかで、自分なりに色々試しているのですがつまずいています。 下記は作成中のソースです。 package servletproject; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.io.*; public class Contrllerservlet { public void main(String[] args) { Connection con = null; Statement stmt = null; try { Class.forName("com.mysql.jdbc.Driver"); Stringurl= "jdbc:mysql:///kokyakuuseUnicode=true&characterEncoding=SJIS"; con = DriverManager.getConnection(url,"root","passwd"); stmt = con.createStatement(); String sql = "SELECT * FROM kokyaku"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { int kokyaku_cd=rs.getInt("no"); String kokyaku_name=rs.getString("name"); String kokyaku_mail=rs.getString("mail"); } } catch(Exception ex) { } public void doPost(httpServletRequestrequest,httpServletResponse response) { request.setCharacterEncoding("Shift_JIS"); request.setAttribute("KokyakuCD",kokyaku_cd); request.setAttribute("KokyakuName",kokyaku_name); request.setAttribute("KokyakuMail",kokyaku_mail); ServletContext sc=getServletContext(); RequestDispatcher rd=sc.getRequestDispatcher("/jsp/kokyakuEXE.jsp"); rd.forward(request,response); }; } } このソースでは、 public void doPos(httpServletRequestrequest,httpServletResponse response) で式の開始が不正です。とコンパイルが出来ません。 ご教授宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-02-13 10:17
るぱんです。
Servletは doPostもしくはdoGetではじめたらよいと思うのですが、 doPosなのでtが足りないと思います。 tを追加して試してみていただけますでしょうか? | ||||||||
|
投稿日時: 2005-02-13 10:50
パテ太と申します。
Servlet を作成されているのですよね? doPost を使用したいようですから ContrllerServlet を HttpServlet から派生させてください。 Servlet に main メソッドは必要ありません。 ・・・というか main メソッドの中から doPost のメソッド定義を出してください。 メソッド定義の中で別のメソッド定義はできません。 など・・・。 | ||||||||
|
投稿日時: 2005-02-13 10:53
るぱん様
ご回答ありがとうございます。 私の誤字でした。すみません。 元のソースの方は、dopostなっています。 それで前記のようになっています。 アドバイスをお願いします。 | ||||||||
|
投稿日時: 2005-02-13 11:09
パテ太様
ご回答ありがとうございます。 それでなのですが、派生?とはextends httpServletでしょうか? それと、定義を出すとは? まだ無知もので、宜しくお願いします。 | ||||||||
|
投稿日時: 2005-02-13 11:31
public class Contrllerservlet extends HttpServlet{
にしたら動きますか? [編集] 1.WEBServerに何を使用してますか? 2.(もし仮にTOMCATだとして) webappsの構成はserver.xmlやweb.xmlに記述していますか? [/編集] [ メッセージ編集済み 編集者: るぱん 編集日時 2005-02-13 11:41 ] | ||||||||
|
投稿日時: 2005-02-13 13:25
パテ太です。
モキチさんのクラスは
となっていますがこのように書くことはできません。 main の宣言の中に doPost の宣言が入っているため エラーになります。 また、サーブレットはサーブレットコンテナに登録して コンテナから呼び出されるという動作をするので main メソッドは呼び出されることはありません。 Servletの初期化には init というメソッドを使用して
っていう感じです。 | ||||||||
|
投稿日時: 2005-02-13 16:17
うーむ、他の回答者の方が丁寧に回答されているところ話の腰を折るようで
恐縮ですが、モキチさんはSerlvetの前にもう少しJavaそのものを 学習されたほうが良いかと思います。 あと何を参考に作業されてますか?まともな書籍の1冊でもあれば 質問されているようなことはわかると思うのですが。。。 横槍ですみません。 --- 以下編集 --- ↑だけでは何の助けにもならないので、追記します。 現状のプログラムの修正方法は他の回答者の方々が示して下さっているので その通りで良いと思いますが、まずは単純なServletだけのプログラムから はじめてはどうでしょう? たとえば、ブラウザに「Hello World」と表示するだけのものをServletで作ってみる。 それだけでも、Servletの意味やコンテナの使い方などはわかると思います。 それからJSP、さらにBeanを使ったいわゆるMVCモデルと順を追って発展 させていけば理解できると思いますです。 [ メッセージ編集済み 編集者: YOU@IT 編集日時 2005-02-13 16:28 ] |
1|2|3|4
次のページへ»