0

jspコードで問題が発生しています。コード[Get_Values.java]は次のとおりです。

public class Get_values {

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String msisdn = request.getParameter("msisdn");
    temp = new Test().parseXml();
    out.println("<b><font color='blue'>MSISDN :</font></b>" + "<b>" + temp[0] + "</b>" + "<br>"); 
 }
}

そしてここにTest.javaのコードがあります

public class Test {
 public String [] temp= new String [50];
public String [] parseXml() {
    SAXParser sp = factory.newSAXParser();
    sp.parse("test.xml", handler);
DefaultHandler handler = new DefaultHandler() {
        public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
            if (qName.equalsIgnoreCase("location")) {
                nodeName = attributes.getValue(qName);
            }
        }

        public void endElement(String uri, String localName, String qName) throws SAXException {
            if (qName.equalsIgnoreCase("x")) {
                temp[0] = value;
            } else if (qName.equalsIgnoreCase("y")) {
                temp[1] = value;
            } else if (qName.equalsIgnoreCase("z")) {
                temp[2] = value;
            }
        }

        public void characters(char ch[], int start, int length) throws SAXException {
            value = new String(ch, start, length);
        }
    };
return temp;
}
}

しかし、「Get_values.war」ファイルを実行すると、tempの値は常にnullとして返されます。しかし、Javaプログラムを実行すると、正常に動作します。warファイルを実行すると「test.xml」が正しく読み取られないと思います。理由は何でしょうか?jspプログラムにファイルを明示的に含める必要がありますか?

4

1 に答える 1

0

ついにそれはうまくいった。パスの問題が原因でした。私はフルパスを与えなければなりませんでした。

C:\\xampp\\tomcat\\webapps\\Location_API\\WEB-INF\\classes\\location\\test.xml

それは魅力のように機能しました。貴重な時間をありがとうございました。:)

于 2012-11-24T09:09:59.823 に答える