记录几个遇到的问题和解决方法
1、服务端图片上传功能在eclipse里面没问题,部署到tomcat上面报错Cant create Cached file?
后来发现tomcat的目录里面没有temp文件夹,导致缓存文件无法创建而报错:解决方法是1、直接新建temp文件夹; 2、代码里面判断一下,没有就新建;
String webroot = RequestContextUtils.getWebApplicationContext(request).getServletContext().getRealPath("/"); //判断下tomcat下temp文件是否存在,不存在需要新建 File folder = new File(webroot); if(folder.isDirectory()) { folder = folder.getParentFile().getParentFile(); if(folder.isDirectory()) { folder = new File(folder, "temp"); if(!folder.exists() || !folder.isDirectory()) { folder.mkdir(); } } }
其中RequestContectUtils是spring的,用来解决没有HttpRequestServer的问题;
2、$.ajax方法请求json调用时发回调到了error函数里面,但是statusCode=200;
这是因为返回值格式不对,虽然调用成功了,但是返回值不是json的格式,success函数不接收,交给了error;
3、写了一个代码行数的统计功能,代码如下:
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class ClassCodeTest { public static List<File> classFiles = new ArrayList<>(); public static void main(String[] args) { String src = "\\src\\main\\java"; int num = countCodeLineNum(src); System.out.println("目前为止共创建java文件"+classFiles.size()+"个;编写代码:("+num+")行"); } public static int countCodeLineNum(String src) { int count = 0; getCountClass(new File(src), classFiles); for (File file : classFiles) { count+= getClassLineNum(file); } return count; } public static int getClassLineNum(File file) { int index = 0; FileReader reader = null; BufferedReader bufferedReader = null; try { reader = new FileReader(file); bufferedReader = new BufferedReader(reader); while(bufferedReader.readLine()!=null) { index++; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(reader!=null) { try { reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return index; } public static void getCountClass(File src,List<File> classFiles) { File[] childrenFile = src.listFiles(); for (File file : childrenFile) { if(file.exists() && file.isDirectory()) { getCountClass(file,classFiles); }else if(file.exists() && file.getName().endsWith(".java")) { classFiles.add(file); } } } }