こんにちは、前回はお世話になりました。
また質問なんですが、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)
また質問なんですが、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分
ありがとうございます!無事解決いたしました。
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)
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分
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分
ありがとうございます。無事コメントの書き込みも成功致しました。
何度も初歩的な質問ばかりで申し訳ありません…。
何度も初歩的な質問ばかりで申し訳ありません…。
投稿:kyo[nym0537]/2009年 04月 23日 21時 39分
/更新:2009年 04月 23日 21時 40分