public class pictureServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletOutputStream out = resp.getOutputStream();
String realPath = getServletContext().getRealPath("a.jpg");//默认在web目录下
System.out.println(realPath);//得到D:\JavaScript\out\artifacts\07_servlet_war_exploded\a.jpg
InputStream in = new FileInputStream(realPath);
int len=0;
byte[] buffer=new byte[1024];
while((len=in.read(buffer))!=-1){
out.write(buffer,0,len);
}
in.close();
out.close();
}
}
图片存放位置
将图片粘贴至web目录下之后 根据realPath却找不到该图片
上午在百度上找了很久没找到原因,下午重启电脑后又试了一下,突然又能回传给浏览器了,根据realPath也能找到该图片!
如果出现和我一样的情况,重启idea后重启Tomcat就好了,然后再打开该servlet就发现图片出来了
果然很多问题是可以靠重启解决的…
其它注意事项:
不能和getWriter()同时使用
不能用UTF-8,使用默认的就行