2011-09-14 9 views
0

今私は次の問題があります。 Tomcat 7とJSPを使用してWebサイトを作成しようとしています。 しかし、私は適切にサーバーを構成することができません。 ブラウザのアドレスバーに、* .jspや* .htmlを付けずにmydomain.com/aboutのようなものを表示するWebサイトが必要です。 これを実現するために、JSPページによって呼び出されるリダイレクトBeanがあり、要求されたURIを解析し、転送するJSPファイルのパスを返します。問題は、web.xml内のサーブレットマッピングです。 そこでは、たとえばサーブレットマッピングを作成しようとしました。/aboutは、そのBeanを呼び出すredirect.jspにマップされます。問題は、私は次の例外を受け取ることを、次のとおりです。サーブレットマッピングに失敗しました

javax.servlet.ServletException:いいえサーブレットクラスは、サーブレットのために指定されている。ここ

をリダイレクトのweb.xmlのコードです:

<servlet-mapping> 
    <servlet-name>redirect</servlet-name> 
    <url-pattern>/engine</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>redirect</servlet-name> 
    <url-pattern>/about</url-pattern> 
</servlet-mapping> 

目次:index.jspは、welcome-file-list内にあるため、正しく呼び出されます。問題は、アドレスバーにパスを表示せずに他のサイトにリダイレクトされています。

多分、Javabeanで転送する方法があります。これはサーブレットマッピングの<servlet-class>タグによって呼び出すことができます。

ご協力いただきありがとうございます。 マックス

ませサーブレットクラスは、サーブレットのために指定されていない

答えて

4

このエラーはちょうどredirect

<servlet> 
    <servlet-name>redirect</servlet-name> 
    <servlet-class>com.example.YourServletClass</servlet-class> 
</servlet> 

かのようなweb.xmlにdefiniedされた名前を持つサーブレットがないことを意味し

リダイレクト

<servlet> 
    <servlet-name>redirect</servlet-name> 
    <jsp-file>/redirect.jsp</jsp-file> 
</servlet> 

それに応じてweb.xmlを修正してください。具体的な問題へ


無関係、私の代わりにこれのための単一の一部とFilter(XML?)設定ファイルを使用することをお勧めします。 Tuckey's URL rewrite filterのようなものは、Apache HTTPDのmod_rewriteとよく似ています。

1

申し訳ありませんが、 はこれは、web.xml

<servlet> 
    <servlet-name>redirect</servlet-name> 
    <description>The main redirection thing</description> 
    <jsp-file>/jsp/redirect.jsp</jsp-file> 
</servlet> 

<servlet-mapping> 
    <servlet-name>redirect</servlet-name> 
    <url-pattern>/engine</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>redirect</servlet-name> 
    <url-pattern>/about</url-pattern> 
</servlet-mapping> 

ない溶液中の上記わずか1ブロックです。 確かに、サーブレットが定義されているノードが必要です。 しかし、私が言ったように、私は代わりにJSPファイルが必要です。

関連する問題