1

私はjava(jsp / servlet)のWebホスティングスペースを持っており、URLパターンを含むweb.xmlファイルのマッピングを使用してサーブレットを何度も試しました。そのURLを使用すると、「要求されたURL/myservletが見つかりませんでした。このサーバーで。」ホスティングプロバイダーによってデフォルトで設定されるページ。そのため、ホスティングプロバイダーから、myservletまたはweb.xmlファイルにマップされているサーブレットを使用できないことを尋ねると、「サーブレットを使用するには、URL-www.yourdomain.com/servlet/myservletに従ってください」と返信されました。また、web.xmlファイルにマップされていないこのURLを使用すると、機能していました。また、web.xmlファイルがサーバーで使用されていないことが何度もありました。

だから私はなぜそれが起こっているのか、なぜweb.xmlファイルが機能していないのか、なぜサーブレットを使用するために/servlet/servletclassnameを使用しなければならないのか、そして動的URLにURLパターンをどのように使用できるのかを尋ねたいです...

仲間が私を助けてください...!!!

これがWeb.xmlファイルです

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>MyPackage.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>
4

2 に答える 2

2

URLのパスの最初の部分として正しいコンテキストを使用していますか?アプリケーションをデプロイするときは常に、すべてのURLを識別するコンテキストを指定します。すべてのURLパターンは、そのコンテキストの後に適用されます。「MyShop」というコンテキストがあり、提供されたweb.xmlを使用して、http:// yourdomain / MyShop/MyServletを呼び出す必要があるとします。

于 2012-12-08T15:02:28.063 に答える
0

自宅で最初に試してみてください。NetBeans IDE(たとえば)は、サーバーとの統合が良好です。パッケージ化されたGlassfish(またはTomcat)と一緒にダウンロードして、そこで実験することができます。

まとめる作品がたくさんあるので、実験してみることをお勧めします。特に書き出すことgetServletContextPathとそれらすべての部分的なパスゲッター。

web.xmlをチェックイン

  • web-app /display-name
  • web-app / servlet-mapping / url-pattern +

また、自動展開では、戦争の名前が重要になる場合があります。

于 2012-12-08T09:49:18.003 に答える