Java 从JSP中的属性目录获取文本文件
我有: 一个名为Java 从JSP中的属性目录获取文本文件,java,jsp,servlets,Java,Jsp,Servlets,我有: 一个名为index.JSP的JSP文件,其中包含以下代码: <% JSONVerschillendeTalen jsonVerschillendeTalen = JSONVerschillendeTalen.getInstance(); JSONObject algemeenJSON = null; JSONObject indexJSON = null; try { indexJSON = jsonVerschillendeTale
index.JSP
的JSP文件,其中包含以下代码:
<%
JSONVerschillendeTalen jsonVerschillendeTalen = JSONVerschillendeTalen.getInstance();
JSONObject algemeenJSON = null;
JSONObject indexJSON = null;
try {
indexJSON = jsonVerschillendeTalen.getJSONObject(request, "Index.txt");
algemeenJSON = jsonVerschillendeTalen.getJSONObject(request, "Algemeen.txt");
} catch (ParseException e) {
e.printStackTrace();
}
%>
public class JSONVerschillendeTalen {
private static JSONVerschillendeTalen jsonVerschillendeTalen = new JSONVerschillendeTalen();
private JSONParser jsonParser = new JSONParser();
public static JSONVerschillendeTalen getInstance() {
return jsonVerschillendeTalen;
}
public JSONObject getJSONObject(HttpServletRequest req, String bestandsnaam) throws IOException, ParseException {
return (JSONObject) jsonParser.parse(new FileReader(getClass().getClassLoader()
.getResource("NL/" + bestandsnaam).getPath().replaceAll("%20", " ")));
}
private JSONVerschillendeTalen() {
}
}
每当我在一个普通类(用于测试)中运行index.jsp
文件中的代码时,它就会工作。当我在jsp文件中运行相同的代码时,它不会。有人知道为什么吗
尝试使用getClass().getResource()
而不是getClass()。getClassLoader().getResource()
。第二种方法是相对于ClassLoader
root搜索资源,它很可能与web容器中的源目录不同
下面对两者之间的差异进行了很好的解释。尝试使用getClass().getResource()
而不是getClass()。getClassLoader().getResource()
。第二种方法是相对于ClassLoader
root搜索资源,它很可能与web容器中的源目录不同
下面对两者之间的区别有一个很好的解释。我知道,避免在jsp页面中使用java代码,但是如果有人手动转到以.jsp结尾的链接,则页面不包含任何文本,因为JSON文件包含网页的文本。是否有任何异常?NullPointerException。
.getResource(“NL/”+bestandsnaam)
返回null。我知道,避免在jsp页面中使用java代码,但如果有人手动转到以.jsp结尾的链接,则该页面不包含任何文本,因为JSON文件包含该网页的文本。是否有任何异常?NullPointerException。.getResource(“NL/”+bestandsnaam)
返回null。