上次做web项目遇到Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1
这种错误比较少见,然后调试了调试了一下,发觉在代码中有这么一段:
//读取配置文件
public static Properties loadProperties(String fileName){
String path = Thread.currentThread().getContextClassLoader().getResource(fileName).getPath();
Properties props = new Properties();
try {
props.load(new FileInputStream(path));
} catch (FileNotFoundException e) {
System.out.println("配置文件没有找到!");
} catch (IOException e) {
System.out.println("读取配置文件失败!");
}
return props;
}
乍一看没什么问题,就是读取fileName的文件路径,然后作为配置文件读进来。
但是如果这个路径中有空格的话,就会报错。
比如tomcat的路径是 D:\Program File\Tomcat\...
由于Program File中间有空格,路径变成了D:\Program%20File\Tomcat\..
在props.load的时候,就出错了。
所以可以用replaceAll("%20", " ")的方式避免出错。
这种环境问题的确很恶心,可能本地开发测试都没遇到过,客户拿过去怎么跑都报错。所以有时候还是多加catch才能发现问题。
更多推荐
Error500错误的解决方法
发布评论