在servlet中使用getClass()。getResourceAsStream()来访问json文件数据

时间:2017-05-04 09:06:18

标签: java json jsp servlets

您好我有一个json文件存储在项目文件夹“project / file.json”中。我怎样才能首先从servlet的doGet()方法访问和读取json文件的数据。其次,我想在单独的JSP文件中打印返回的数据。我在这里作为最后的手段发布,因为我找不到任何关于如何做到这一点。这是我的文件和迄今为止的尝试

这里是file.json

{
    "person": {
        "title": "manager",
        "questions": [
            "name ?",
            "age ?",
            "hobby ?"
        ]
    }
}

这是来自fileServlet.java的doGet()方法

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
        response.setContentType("text/json");
        /* here I'm accessing the external file JSON file*/
        getClass().getResourceAsStream("project/file.json");
        /* here is where I run into trouble. the StringReader() only
        accepts strings and I cannot figure out how to read the table form
        file.json here*/
        JsonReader reader = Json.createReader(new StringReader(person));

        /*the reader needs to be set inorder to create a JsonObject*/
        JsonObject jsonObject = reader.readObject();
    }

最后,JSP文件。我希望file.json项目以这样的形式出现,如此

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

        <form>
            "name ?" get displayed here <br>
            <input type="text" name="firstname" value="">
            <br>
            "age ?" get displayed here <br>
            <input type="text" name="age" value="">
            <br>
            "hobby ?" get displayed here <br>
            <input type="text" name="hobby" value="">
            <br><br>
            <input type="submit" value="Done">
        </form>
    </body>
</html>

任何帮助或提示将不胜感激

0 个答案:

没有答案