今天遇到了这个问题,快把我搞吐了,我的idea是2020最新版本的,在引入jar包时,我引入的是
mysql-connector-java-5.1.18-bin.jar
这个版本的,后来我换成了
mysql-connector-java-5.1.47.jar
但还是不行,我又去看是不是语法问题,也不是,然后几乎把所有的jar包都升级了,但还是不行,(心态炸裂)
我又新建了一个项目,只把与数据库连接相关的jar包导入,然后把原项目中于此相关的类,servlet,。。都复制了过来,只让实现数据库这个功能,其它都注释,终于成功了,此时在把原项目中的其它包也导过来,在试,成功,于是把原项目中的 lib文件,重新替换成新的那个lib文件夹,在原项目中调试,失败,我把其它的无关功能注释,在尝试,成功,然后在把注释取消,在尝试,成功
我怀疑是idea本身的缓冲问题,下次遇到这种问题,可以尝试把有问题的那部分,放到一个新的项目中,在去调试,排除其它元素的干扰
问题代码块
@WebServlet("/provinceServlet")
public class ProvinceServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//调用service查询
ProvinceService service = new ProvinceServiceImpl();
List<Province> list = service.findAll();
//序列化list为json
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(list);
System.out.println(json);
//响应结果
response.setContentType("application/json;charset=utf-8");
response.getWriter().write(json);
}
}
我更改了原项目的lib换成新项目的那个lib后,第一次尝试,不成功,把list转json这部分给注释以后,发现成功了,感觉非常诡异。也许就是idea本身更新资源的时候,产生的问题吧。
总结:
遇到问题,网上的方法都试了以后,还不行,可以把这部分功能放到一个新的环境中再去尝试解决,免除其它配置的影响。