0

私は、404 (有名な HTTP 404 Not Found) などのエラー ページをよりユーザー フレンドリーなページに一致させることに "突然" 決めたこの Spring アプリを開発しています。

簡単な調査の結果、このコードを追加するとweb.xmlうまくいくことがわかりました

    <error-page>
        <error-code>404</error-code>
        <location>/error/404.jsp</location>
    </error-page>

404.jspここでは、必要なファイルをディレクトリに追加したと仮定します/webapp/error/

関連記事:

しかし、アプリを実行してランダムな URL ( などhttp://localhost:8080/SpringWebApp/myRandomUrladasdad) を入力すると、別の標準の 404 ページにリダイレクトされます。

参考までに、これは私の web.xml 全体です

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>springapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>imageServlet</servlet-name>
    <servlet-class>sphbmveclp.account.controllers.ImageFromDirServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>imageServlet</servlet-name>
    <url-pattern>/image/*</url-pattern>
  </servlet-mapping>

  <error-page>
    <error-code>404</error-code>
    <location>/error/404.jsp</location>
  </error-page>

不合理な量のグーグルの後、私はこれに遭遇しました:

http://www.mkyong.com/spring-mvc/404-error-code-is-not-working-in-spring-mvc/

だから私はここに何か良いものがあると思いました。私の巨大な部分<url-pattern>/</url-pattern>がこのすべての問題を引き起こしているのではないかと思いました。そのため、この場合はより具体的なものに変更しました<url-pattern>/admin/*</url-pattern>

しかし、うまくいきません。まだ期待どおりに機能していません。

何か案が?

4

3 に答える 3

1

404 処理が Spring コンテナの外にあることを確認してください。Spring-MVC で URL パターンをどのように処理していますか? 春のコンテキストファイルを投稿できますか?

于 2012-10-19T17:11:16.200 に答える
-1

かなりの量のグーグルの後、私はこれを見つけました:http: //developingdeveloper.wordpress.com/2008/02/20/handling-exceptions-in-spring-mvc-part-1/

于 2012-10-19T22:11:34.473 に答える
-1

これは、Eclipse 内で Tomcat を実行することに関するもう 1 つの警告です。

アプリを手動で、または自動的にEclipseの「外部」に展開すると、どういうわけか私の設定は完全に正常に機能します(手動でTomcatに.warファイルを展開します)

IDE 内での Tomcat の実行に関連するその他の問題がありました。たとえば、次のとおりです。

  • Memory Realm one: 新しいサーバーを作成すると、一連の構成ファイルが Tomcat インストールからワークスペースの Servers プロジェクトの下の対応するフォルダーにインポート (コピー) されます。このファイルは Eclipse によって更新されないことがあるため、変更は無視されます。https://www.coderanch.com/t/583979/Tomcat/Memory-Realm-Authentication-Fails-Tomcatを参照してください。

結論:Eclipse内でTomcatを実行するときは注意してください...

于 2012-10-19T17:20:08.010 に答える