如图,我照着老师的一模一样的代码,报一个
空指针,求解!
package com.zpc;
import
java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Properties;
import
javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet5 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException,
IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//利用ServletContext读取资源文件
InputStream inputStream=this.getServletContext().getResourceAsStream("dbinfo.properties");
//创建Properties
Properties pp=new Properties();
pp.load(inputStream);
out.println("name="+pp.getProperty("username"));
//读取一个文件的全路径
String path=this.getServletContext().getRealPath("/images/Linux1.png");
out.println("path="+path);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
------解决方案--------------------看异常 哪一行
------解决方案--------------------还是拷贝复制更靠谱
------解决方案--------------------楼主会用IDe的断点吗?你这种有环境的,还是自己测异常出在哪了吧,谁也看不出你可能出异常的地方
this.getServletContext().getResourceAsStream("dbinfo.properties");
这里的dbinfo.properties的位置放得不对,你放在webroot下或者src下分别试一下
------解决方案--------------------既然是
空指针异常,大概分析一下几种可能,你依次检查:
1.InputStream inputStream=this.getServletContext().getResourceAsStream("dbinfo.properties");
如果你没有在web.xml设置初始化参数,那么你的dbinfo.properties文件应该放在类路径下(src下)。
2.out.println("name="+pp.getProperty("username")); 你最好检查以保证pp.getProperty("username")不为null。
3.String path=this.getServletContext().getRealPath("/images/Linux1.png");你最好检查以保证path不为null。
------解决方案--------------------用断点调试,查看一下,对照去看
------解决方案--------------------