discuss_ja@glassfish.java.net

Re: はじめまして&NB6.1+SJSAS9.1でのjspトラブルシュート方法?

From: <y_at_sonoda.ac>
Date: Wed, 14 May 2008 10:12:06 +0900

寺田様
(皆様)

先日はメールでいろいろとご指導いただきありがとうございました。
ようやくこちらのMLへ参加させていただきましたので、引き続き
よろしくお願いいたします。

先に2通、アドバイスをいただいておりましたが、
2通目のアドバイスに従い、SJSASの利用するJava環境を変更しました。

具体的には

    <GlassFishInstallBase>\config\asenv.bat

の中のJava環境を指定しているところが、ご指摘のようにJREとなっていたので
下記のようにJDK環境を指定するように変更しました。

  set AS_JAVA=set AS_JAVA=D:\Program Files\Java\jdk1.6.0_06

(すみません、JDKは1..6.0 04ではなく、06でした)

その後、SJSASを再起動し、あらためてtest.jspへアクセスしたところ、
ばっちり表示されました。

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

さて、ようやくこれからAccessとのやり取りの処理にかかれます。
正直なところ、Accessではなく、MySQLやMS SQLを使いたいところ
なのですが、Accessを利用しているシステムの方が、当方所掌の
部分で無いのでとりあえずはなんとかそれをそのまま使うしかないもので。。。。

今後ともどうぞよろしくお願いします。

08/05/13 に Yoshio Terada<Yoshio.Terada_at_sun.com> さんは書きました:
> 苑田さん
> 寺田(よっしー)です。
>
> 先ほど、ローカルの環境で試してみたのですが、
> HTTPSのリスナーに対してhttpでポート番号指定で
> 接続した場合、httpsにリダイレクトされるようでした。
> すいません。
>
> <http-listener acceptor-threads="1" address="0.0.0.0"
> blocking-enabled="false" default-virtual-server="server" enabled="true"
> family="inet" id="http-listener-1" port="28080" security-enabled="true"
> server-name="" xpowered-by="true">
>
> つまり、先ほどの私の想定は間違っていました。
>
> そこで、ちょっと調べてみたのですが、下記の現象と
> 同じではないでしょうか。
> これによると、jvmのパスにtools.jarファイルを含めて下さいとのことでした。
> 仮に、AppServerのランタイムにJREを指定しているようであれば、
> JDKに設定しなおして頂けないでしょうか。
>
> http://www.softslate.com/forums/viewtopic.php?p=791&sid=f550422dc9ec315f44b0e4fbf111cc5d
>
> てらだ
>
>
> On 2008/05/13, at 21:10, Yoshio Terada wrote:
>
> > よっしーです。
> >
> >
> > > http://172.*.*.*:12080/***Test1-web/test.jsp
> > >
> >
> > HTTPで接続していて、SSLのワーカスレッドが
> > 動作しているのが少しひっかかるのですが。
> > ブラウザからHTTPSで接続した場合は如何でしょうか?
> >
> > https://127.*.*.*:12080/***Test1-web/test.jsp
> >
> > また、domain.xmlの内容を教えていただけないでしょうか。
> > # cat $GF_INSTALL/domains/DOMAIN/config/domain.xml
> >
> > 特に下記のように12080のポート番号が含まれる行を教えてください。
> >
> ********************************************************************************
> > <http-listener acceptor-threads="1" address="0.0.0.0"
> blocking-enabled="false" default-virtual-server
> > ="server" enabled="true" family="inet" id="http-listener-1" port="12080"
> security-enabled="false" server-name=
> > "" xpowered-by="true">
> >
> ********************************************************************************
> >
> > もしくは、下記の行が含まれる箇所を教えてください。
> >
> ********************************************************************************
> > security-enabled="false"
> >
> ********************************************************************************
> >
> > Grizzlyのソースコードによると、プロトコルが見つからない時に
> > 実行されるフローに遷移しているようです。(すべては追っていませんが。)
> >
> > PortUnificationPipeline.java:380
> >
> ********************************************************************************
> > } else {
> > // If the protocol wasn't found, it might be
> because
> > // lack of missing bytes. Thus we must register
> the key for
> > // extra bytes. The trick here is to re-use the
> ReadTask
> > // ByteBufferInpuStream.
> > if (bbInputStream == null){
> > bbInputStream = new ByteBufferInputStream();
> > }
> > ByteBuffer tmpBB = protocolInfo.inputBB;
> > if (tmpBB == null){
> > tmpBB = protocolInfo.byteBuffer;
> > }
> > int byteAvailables = tmpBB.position();
> >
> bbInputStream.setByteBuffer(tmpBB);
> >
> bbInputStream.setSelectionKey(key);
> > //One seconds blocking read.
> >
> bbInputStream.setReadTimeout(1000);
> > 380: bbInputStream.read();
> > if ((tmpBB.position() - byteAvailables) <= 1){
> > cancel(readTask,tmpBB);
> > return;
> > }
> > protocolInfo.byteBuffer = tmpBB;
> > bbInputStream.recycle();
> > }
> >
> ********************************************************************************
> >
> > PS.
> > このMLは基本的にはサポートに関する質問は
> > Best Effortでの対応になりますので、
> > その点だけは御了承いただければと思います。
> >
> > On 2008/05/13, at 19:24, y_at_sonoda.ac wrote:
> >
> >
> > > はじめまして、苑田といいます。
> > >
> > > つい先ほどこのMLに参加させていただきました。
> > >
> > > どうぞよろしくお願いいたします。
> > >
> > > こちらのMLが適切なのかちょっと不明なのですが、一般的な議論という
> > > 説明になっていたので、質問させてください。
> > >
> > > 当方の環境は下記のとおりです。
> > >
> > > 開発マシン&クライアント:
> > > Windows XP sp2
> > > NetBeans6.1
> > > JDK1.6_04
> > > J2EE5
> > >
> > > サーバ:
> > > Windows Server 2005
> > > Sun Java System Application Server 9.1 01
> > > JDK1.6_04
> > >
> > > さて、いまEJB3.0の勉強をかねて、まずは非常に簡単なサンプルを
> > > 作って動かそうとしてます。
> > >
> > > 最終的には、サーバのMS AccessのファイルをJPA(Toplink)を使って
> > > Webアプリで読み出すところまで行きたいと考えていますが、
> > > まずはそれはおいておいて、下記のような状況が発生して困っております。
> > >
> > > 上記、サーバに下記のtest.jspをデプロイし、クライアントのwebブラウザで
> > > 表示をしようとしているだけなのですが、SJSASのログを見ても、肝心の
> > > ソース(例えば上記test.jsp)のどこに問題があるのか?といったログを
> > > 出してくれないので途方にくれています。
> > >
> > > <%--
> > > Document : test
> > > Created on : 2008/05/09, 15:54:47
> > > Author : *******
> > > --%>
> > >
> > > <%_at_page contentType="text/html" pageEncoding="windows-31j"%>
> > >
> > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> > > "http://www.w3.org/TR/html4/loose.dtd">
> > >
> > >
> > > <html>
> > > <head>
> > > <meta http-equiv="Content-Type" content="text/html;
> > > charset=windows-31j">
> > > <title>JSPテストページ</title>
> > > </head>
> > > <body>
> > > <h2>Hello World!</h2>
> > > </body>
> > > </html>
> > >
> > > NetBeansにてwebプロジェクトを作成し、SJSASにデプロイをしましたが、
> > > そこまではOKのようです。
> > >
> > > 以下NBのメッセージです。
> > > [172.x.x.x:4848_server] に C:\Documents and Settings\*****\My
> > > Documents\javaプログラム\***Test1\dist\***Test1.ear を配備します
> > > プロジェクトのサーバーリソースの登録を開始します
> > > サーバーリソースの登録を完了しました
> > > deployment started : 0%
> > > deployment finished : 100%
> > > Deploying application in domain completed successfully
> > > Trying to create reference for application in target server completed
> > > successfully
> > > Trying to start application in target server completed successfully
> > > Deployment of application ***Test1 completed successfully
> > > Enable of ***Test1 in target server completed successfully
> > > Enable of application in all targets completed successfully
> > > All operations completed successfully
> > > post-run-deploy:
> > > run-deploy:
> > > 構築成功 (合計時間: 6 秒)
> > >
> > > さて、肝心のtest.jspにSleipnirから以下のURLにてアクセスをします。
> > >
> > > http://172.*.*.*:12080/***Test1-web/test.jsp
> > >
> > > すると、ブラウザには下記のメッセージが表示されます。
> > >
> > > HTTP Status 500 -
> > >
> > >
> --------------------------------------------------------------------------------
> > >
> > > type 状態レポート
> > >
> > > メッセージ
> > >
> > > 説明The server encountered an internal error () that prevented it from
> > > fulfilling this request.
> > >
> > >
> > >
> --------------------------------------------------------------------------------
> > >
> > > Sun Java System Application Server 9.1_01
> > >
> > > ちなみに、おなじプロジェクトに確認用のindex.htmlというのも入れていて、
> > > それに対して、
> > > http://172.*.*.*:12080/***Test1-web/index.html
> > >
> > > にてアクセスすると、ちゃんとブラウザ上に表示してくれるので、
> > > URLやsun-web.xmlのコンテクストルートの設定は間違っていないようです。
> > >
> > > さて、上記のStatus HTTP 500エラーが表示されるときのSJSASのログを
> > > 見てみると、SEVEREとWARNINGという2つのエラーが出ています。
> > >
> > > それらは下記のとおりです。
> > >
> > >
> ------------------------------------------------------------------------------------------
> > > タイムスタンプ 2008/05/13 18:21:01.335
> > > ログレベル WARNING
> > > ロガー javax.enterprise.system.stream.err
> > > 名前と値のペア
> _ThreadID=27;_ThreadName=httpSSLWorkerThread-12080-0;_RequestID=7cd8fc83-5cda-47cc-aff8-59d27bc98cda;
> > > レコード番号 3750
> > > メッセージ ID java.lang.NullPointerException at
> > >
> org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java
> > > メッセージ全文 172) at
> > >
> org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:342)
> > > at
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:411)
> at
> > >
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
> > > at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
> > > at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
> > > at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
> > > at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
> at
> > >
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
> > > at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
> > > at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
> > > at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> > > at
> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> at
> > >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> > > at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> > > at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> > > at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> > > at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> > > at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> > > at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
> > > at
> com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
> > > at
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> > > at
> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> > >
> > >
> ------------------------------------------------------------------------------------------
> > > タイムスタンプ 2008/05/13 18:53:10.730
> > > ログレベル SEVERE
> > > ロガー javax.enterprise.system.container.web
> > > 名前と値のペア
> _ThreadID=28;_ThreadName=httpSSLWorkerThread-12080-1;_RequestID=5d7e7365-8d6b-4d77-b871-e4b852cad1bf;
> > > レコード番号 3553
> > > メッセージ ID StandardWrapperValve[jsp]
> > > メッセージ全文 PWC1406: サーブレット jsp の Servlet.service() が例外をスローしました
> > > java.lang.NullPointerException at
> > >
> org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:172)
> > > at
> org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:342)
> > > at
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:411)
> at
> > >
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
> > > at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
> > > at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
> > > at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
> > > at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
> at
> > >
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
> > > at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
> > > at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
> > > at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> > > at
> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> at
> > >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> > > at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> > > at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> > > at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> > > at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> > > at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> > > at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> > > at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
> > > at
> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
> > > at
> com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
> > > at
> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> > > at
> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> > >
> ------------------------------------------------------------------------------------------
> > >
> > > test.jspの中身は単にhelloと書くだけのもので、セッションビーンなどは
> > > 使っていないため、普通に表示してくれてよさそうですが、どうにも表示をしてくれず
> > > また上記のエラー内容からは、当方不勉強のためその原因を読み取ることが出来ません。
> > >
> > > ここ2日ほど、エラーの文字列でぐぐって原因を調べていますが、
> > > 該当するような情報にあたらず、手詰まりの状態です。
> > >
> > > 何が問題なのか?あるいはさらにどのようにすれば根本的な問題を
> > > 見つけることが出来るのかご教授いただけると非常に助かります。
> > >
> > > よろしくお願いします。
> > >
> >
> >
> >
> >
>
> ***********************************************
> > Yoshio Terada
> Solution Architect
>
> Sun Microsystems K.K.
> SBS Tower 15 Fl, 4-10-1 Yoga
> Setagaya-ku, Tokyo, 158-8633 Japan
>
> Phone: +81-3-5717-4697
> Fax : +81-3-5717-2582
> Mail : Yoshio.Terada_at_Sun.COM
> Blog : http://blogs.sun.com/yosshi
> ***********************************************
>
>