2012-04-22 6 views
0

私はEclipseを使用してサーブレットをプログラミングしています。ここで、example.jspはサーブレット(ServletConfig、ServletContext、...のアクセス属性またはパラメータ)のようなことをしたいと考えています。Servet:WebContentに受信JSPファイルがありません

WebContentの上にexample.jspを置き、プロジェクト名はProjectExampleです。 web.xmlに

は、ここで私は、このサーブレットを宣言する方法です:

<servlet> 
    <servlet-name>JSP Example</servlet-name> 
    <jsp-file>example.jsp</jsp-file> 
    <init-param> 
     <param-name>name</param-name> 
     <param-value>hqt</param-value> 
    </init-param> 
// I meet warning at <jsp-file>: that doesn't found this file 
//although I have change to: `/example.jsp`, `ProjectExample/example.jsp` or `/ProjectExample/example.jsp` 
</servlet> 

コンテナは、このファイルを認識しないので、私が使用している場合:getServletConfig().getInitParameter("name")私はnullを受け取ることになります!

これを修正する方法を教えてください。

感謝:)

@:もしコードに間違って入力して何か、それだけでタイプミスだから問題ないという。私はStackOverFlowがなぜコピー/ペースト機能をもはや許さないのか分からない。

答えて

1

私の主な問題はあなたの設定ではなく、むしろjspページの設定方法だと思います。

あなた <jsp-file>/example.jsp</jsp-file>を変更し、JSPにこれを追加し

Who am I? -> <%= getServletName() %> 

私のボックスの出力には次のようになります。

Who am I? -> jsp 

すべてのJSPは、 "JSP" と呼ばれる同じサーブレット構成を共有しているためであること。 $ CATALINE_HOME/conf/web.xmlに設定されています(Tomcatを使用している場合)。

<servlet> 
    <servlet-name>jsp</servlet-name> 
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
    <init-param> 
     <param-name>fork</param-name> 
     <param-value>false</param-value> 
    </init-param> 
    <init-param> 
     <param-name>xpoweredBy</param-name> 
     <param-value>false</param-value> 
    </init-param> 
    <load-on-startup>3</load-on-startup> 
</servlet> 
+0

から撮影された設定はこのようになっていることを私のTomcat 7の場合注:これはTomcat固有のものであり、他のサーバは異なる動作をする可能性があります –

+0

注:Eclipseは$ CATALINE_HOME/conf/web.xmlをワークスペースにコピーします(jspサーブレットを削除し、 –

0

あなたのサーブレットがinitメソッドを持っている必要があり、そこにあなたが必要なパラメータを読むことができます:

public class SimpleServlet extends GenericServlet { 
    protected String myParam = null; 

    public void init(ServletConfig servletConfig) throws ServletException{ 
     this.myParam = servletConfig.getInitParameter("name"); 
     } 

    //your servlet code... 
} 

この例では、here

関連する問題