有一个下载文件的 Servlet,部分程序如下:
String filename=request.getParameter("filename");
String filename2=new String(filename.getBytes("iso8859-1"),"gb2312");
// 通知客户文件的MIME类型
response.setContentType("application/x-msdownload");
// 客户使用保存文件的对话框
response.setHeader("Content-disposition","attachment; filename="+filename);
bis=new BufferedInputStream(new FileInputStream(getServletContext().getRealPath("/"+filename2)));
其中filename是下载的文件名,请问getServletContext()前面无对象名,怎么就能直接调用这个方法呢。
在getServletContext()方法之前应该有对象名吧。
------解决思路----------------------
父类的静态方法不需要加对象,也可以用this.getServletContext(),本类对象调用父类的静态方法
------解决思路----------------------
一般servlet都继承了HttpServlet你到最上面可以看到的,这个方法你也可以到父类源码里面去看,其实servlet有三种实现方式的,你可以到网上看看。