2017-12-11 10 views
0

サーブレットを作成しようとしています。そのサーブレットはxmlを解析し、そこから情報を出力します。ここでリソースパスは[null]に正規化されました

は、一部は私のコードです:ここでは

public void doGet(HttpServletRequest req, HttpServletResponse res) 
     throws ServletException, IOException { 

    List<Inventory> list = null; 
    DOMParser domParser = new DOMParser(); 
    pw = res.getWriter(); 
    try { 
     list = domParser.parse(getServletContext().getResourceAsStream("../SportInventory.xml")); 
    } catch (ParserConfigurationException | SAXException e) { 
     return; 
    } 
    pw.println("<HTML><HEAD><TITLE>title</TITLE></HEAD><BODY>"); 
    pw.println("<p>done</p>"); 
    pw.println("</BODY></HTML>"); 
    pw.close(); 
} 

は、ディレクトリ構造である:私のXMLで https://imgur.com/4bmwdMC

のschemaLocation:

xsi:schemaLocation="http://nure.ua/sportInventory sportInventory.xsd" 

その結果、私は次があります。 https://imgur.com/sCzSxFc

これまで私の悪い英語を助けて申し訳ありませんでした。

答えて

0

これを試してみてください:

list = domParser.parse(getServletContext().getResourceAsStream("/SportInventory.xml")) 

ファイルの場所は、 "/" で開始する必要があります。

+0

まだ動作しません。 – skraim

+0

編集したソリューションをお試しください。私はパスから ".."を削除します。それが動作しないときは、xmlファイルがjar/warファイルに存在するかどうか確認してください。 Xmlファイルはjarファイルのルートディレクトリにあります。 –

+0

これでSAXParseExceptionがスローされます。トピックの問題は、多くのthxを解決されたように見えます:) – skraim

関連する問題