竹形誠司 ブログ
ご質問    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
Java+MySQL+Tomcatで作る掲示板とブログP115〜(親子の関係について)
by kyo[nym0537]
こんにちは、前回はお世話になりました。
また質問なんですが、P124の網掛けを追記した際に以下のようなエラーが出ました。

前回と同様MySQLのバージョンが違うため、String strSql以下の命令文を認識していないのではないか?というのが僕の考えなのですが、、、

お忙しいところ申し訳ありませんがご指導よろしくお願いいたします。


説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.Exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY id LIMIT 10,5' at line 1
SELECT * FROM bbs WHERE parent_id=0ORDER BY id LIMIT 10,5
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


原因

javax.servlet.ServletException: java.lang.Exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY id LIMIT 10,5' at line 1
SELECT * FROM bbs WHERE parent_id=0ORDER BY id LIMIT 10,5
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:223)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


原因

java.lang.Exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY id LIMIT 10,5' at line 1
SELECT * FROM bbs WHERE parent_id=0ORDER BY id LIMIT 10,5
    takiishi.BbsArticleList.makeList(BbsArticleList.java:42)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:130)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


投稿:kyo[nym0537]/2009年 04月 23日 15時 17分 /更新:2009年 04月 23日 15時 18分
RE:Java+MySQL+Tomcatで作る掲示板とブログP115〜(親子の関係について)
by 竹形 誠司[takegata]
竹形です。どうも

エラーの原因は以下の部分のようです。
SELECT * FROM bbs WHERE parent_id=0ORDER BY id LIMIT 10,5
parent_id=0 と ORDERの間にスペースが入っていなければなりません。
このあたりをチェックしてみてください。
投稿:竹形 誠司[takegata]/2009年 04月 23日 17時 33分 /更新:2009年 04月 23日 17時 33分
RE:Java+MySQL+Tomcatで作る掲示板とブログP115〜(親子の関係について)
by kyo[nym0537]
ありがとうございます!無事解決いたしました。

ORDERの前にスペースが無かったからエラーが出てたんですね。。。早とちりで勘違いしてしまって申し訳ないです。


あと掲示板の表示画面(index.jsp)は問題なく表示されるようになったのですが「コメントを書く」をクリックすると以下のようなエラー出るようになってしまいました。。。

ネットで調べていたらコネクションプーリングに問題があるということらしいのですが、本書P16のコンテキストの設定やP48のコンテキストの設定、P49のリソース参照の設定の部分が関係しているのでしょうか?

たびたび申し訳ありませんがよろしくお願いします。


org.apache.jasper.JasperException: An exception occurred processing JSP page /write_1.jsp at line 32

29: if(strParentId != null){
30:     int intParentId = Integer.parseInt(strParentId);
31:     article.setParentId(intParentId);
32:     String strParentSubject = article.getParentSubject();
33:     if(strParentSubject.startsWith("RE:")){
34:         article.setSubject(strParentSubject);
35:     }else{


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


原因

javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.write_005f1_jsp._jspService(write_005f1_jsp.java:122)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


原因

javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません
    org.apache.naming.NamingContext.lookup(NamingContext.java:770)
    org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
    javax.naming.InitialContext.lookup(InitialContext.java:392)
    jamyto2.BbsArticle.getParentSubject(BbsArticle.java:128)
    org.apache.jsp.write_005f1_jsp._jspService(write_005f1_jsp.java:93)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


投稿:kyo[nym0537]/2009年 04月 23日 20時 25分 /更新:2009年 04月 23日 20時 27分
RE:Java+MySQL+Tomcatで作る掲示板とブログP115〜(親子の関係について)
by 竹形 誠司[takegata]
P.48 のjamyto2.xmlに次のような部分があります。
<Resource name = jdbc/jamyto2
そして、P.117の下から2行目に(他にもありますが)、次のような部分があります。
Datasource ds = (Datasource)ctx.lookup("java:comp/env/jdbc/jamyto2");
ctx.lookupで指定している"java:comp/env/" 以降の文字列が Resource 要素のname属性と一致している必要があります。このあたりをチェックしてみてください。
投稿:竹形 誠司[takegata]/2009年 04月 23日 20時 52分 /更新:2009年 04月 23日 20時 54分
RE:Java+MySQL+Tomcatで作る掲示板とブログP115〜(親子の関係について)
by kyo[nym0537]
ありがとうございます。無事コメントの書き込みも成功致しました。

何度も初歩的な質問ばかりで申し訳ありません…。
投稿:kyo[nym0537]/2009年 04月 23日 21時 39分 /更新:2009年 04月 23日 21時 40分