1.今天在学习的时候,我用eclipse发布的web项目是发布在在一个叫wtpwebapps的文件夹里面,同时我们知道Tomcat有一个默认的项目发布的文件夹叫webapps。这里就有个疑问,我访问我的服务器时它究竟访问哪个文件夹下的web项目呢?
经过试验,我觉得eclipse会修改我的文件配置,把默认的访问改为wtpwebapps文件下的项目。
2.另外在你启动服务器后(若服务器处于未关闭),你改动了web项目(增加或删除项目的个数)会导致你下次启动服务器无法启动的情况。解决办法有:1.重新创建一个与以前项目一样的文件夹或者最好还是把原有文件找回来。2.重启eclipse再启动项目。
3.还有一点就是eclipse会在打开时自动复制webapps的项目到wtpwebapps里面。
4.xml的配置文件应该放在那里?应该放在WEB_INF文件夹下和lib文件夹同一级
5.编码问题
浏览器使用的是UTF-8字符集,传输的时候把字符用utf-8编码变成字节码。Tomcat服务器默认是使用的是IS0-8859-1字符集,所以会把浏览器传过来的用utf-8编码的字节码使用IS0-8859-1字符集解码,因为编码跟解码使用的字符集不一致才导致乱码的。
//编码 浏览器将utf-8的字符编码传输来,但是Tomcat解码是用的ISO-8859-1,所以先得将错误的解码还原编码
byte[] bt = username.getBytes("ISO-8859-1");
this.username=new String(bt,"utf-8");//解码
而返回的数据乱码解决方案参考https://blog.csdn.net/simon_1/article/details/9092747
https://blog.csdn.net/kontrol/article/details/7767983
- //这句话的意思,是让浏览器用utf8来解析返回的数据
- response.setHeader("Content-type", "text/html;charset=UTF-8");
- //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859
- response.setCharacterEncoding("UTF-8");