问题1 页面404 找不到资源
原因可能是你的web项目中缺少一个,可以运行的前端文件。比如你连一个web首页面都没有那么可能出现404.
其次就是可能你的tomcat的访问路径错误,找不到你所需要运行的文件,所以你会报404。这个时候你就需要
去看看你的url是否正确了
如果这两者都没问题,你访问的文件存在,并且路径没错,那么就没什么问题了。
问题2 页面405
这个时候你就需要去查看自己的前端页面的method 指定的提交方式了,如果你的提交方式是post ,
但是你的servlet类 重写的是doGet方法 , 那么就会出现405. 所以检查好提交方式的对应取到数据的方法
问题 3 页面 500
这个是你内部代码有问题了 , 多半是后端代码出现了异常。
网页上会把错误抛出来 , 控制台TomcatLocalhost Log 也可以看到。
问题 4 页面表单提交了 , 但是后台看不到对应的dopost(doGet)
一种可能是前端input 对应的 name 没有指定导致无法提交
另外一种就是端口号错误,因为浏览器的端口号和tomcat服务器的端口号不一样,
如果你的端口号 是类似于这种 http://localhost:63342/FruitSystem/web/index.html
那么你的端口号是错的,提交的位置错了那么也是后端没有响应的
我是将端口号改了,然后再将/FruitSystem/web 这一段给删了,才正常跑起来的。
http://localhost:8080/index.html , 就像这样。
所以呢 , 出现端口问题还是有点麻烦的。不过遇见了 , 解决了即可。
问题 5 后端得到的数据乱码
Tomcat 8 以上
doget(dopost)方法
req.setCharacterEncoding("UTF-8") , 但是注意这个方法要在所有getParameter方法执行前执行。
不然就不管用!!!
Tomcat 7 及其以下
String name = req.getParameter("name");
byte[] bytes = name.getBytes(); // 将参数打散
String s = new String(bytes, "UTF-8"); // 重新设置编码方式即可
// 做完以上的建议 , 重启一下IDEA
我提一句,执行了这个方法控制台显示的还是乱码字符,但是我们的数据库已经存储的是正确的字符了。
这个不需要担心,只需要设置好正确的字符即可!
还有刚刚看见一篇良心博客,讲这个设置编码问题挺深入的推荐一下。
response.setCharacter和request.setCharacterEncoding详解_囧囧哥的博客-CSDN博客