服务器是阿里云的服务器.
1.请求参数乱码
----每次都是,本地通过,然后部署到服务器,出现各种问题。
先说一下参数乱码给我带来的后果吧。
本地,一切OK,
部署到服务器后,使用搜索模块,什么也‘查不出来’
--这就是后果,为什么参数乱码,拿乱码的参数去数据库查,自然查不到。
为什么会乱码,我不清楚(我用了springmvc的转码拦截器哦)。
解决方法:
text=new String(text.getBytes("ISO-8859-1"),"UTF-8");
在Controller层,统一将参数再用utf8 new一个
但是,有的参数又没有乱码,没乱码经过这个后反而乱码了,所以先做了个乱码判断:
String s = request.getQueryString();
if(s!=null){
if(!(java.nio.charset.Charset.forName("GBK").newEncoder().canEncode(s))){
try {
s = new String(request.getQueryString().getBytes("ISO-8859-1"),"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
2.阿里云代码tomcat下创建的文件夹找不到
还有一点,在阿里云服务器,根目录下有一个localhost文件夹.你所有用代码在web项目根目录创建的文件夹,都在这里面,可别找不到了,如果找不到了就用
find / -name 文件名
别用locate,虽然快,但我用就没找到,让我误以为不存在.
3.日志的重要性!
--一开始不觉的啊,代码初期把日志写好,是多么重要,等你部署到服务器出错你才会明白吧。
部署到服务器,进tomcat的logs文件夹用:
tail -f catalina.out命令通过打印的日志,查看是哪一步出错了!