(今天试着写了一下jdbc,遇到好多问题,特此写下来方便以后查阅。)
1. tomcat读取了web.xml配置的地址,按住ctrl+左键点击确认路径无误的情况下,或之前可以找到文件,后来因为某些操作使得报ClassNotFound异常。可是网页中还是找不到文件。(原因可能是clean了项目。)
解决办法:1.如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况。就在project->properties->java build path->libraies里面全删掉并重新引用jar包。2. project->properties->java build path->source->…/WEB-INF/src的output folder不要默认,编辑让它指向…/WEB-INF/classes 然后重新点击build工程即可自动编译,如果没有classes自己建一个classes文件夹。3.实在不行就重新建一个servelt项目)。
原文链接:https://blog.csdn.net/shiyuehit/article/details/53262807
2. tomcat更改后的文件不生效,依旧缓存之前的文件内容,无论重启,clean或者复制项目都不行。是build目录下文件没有更新的问题,build目录存放的是项目经过编译后的文件。
解决方法:找到workspace,删除build目录下的classes文件夹,然后重新编译项目从而使对配置文件的更改生效。
原文链接:https://www.cnblogs.com/liunianfeiyu/p/7353064.html
3. jdbc的properties文件配置。
在根目录下建立一个Resouce文件夹,新建一个xxx.properties文件(Web项目中的File文本,需要在该Project名中点击右键创建file文件,再选择Resource文件目录放进去)。配置内容如下:
classname : com.jdbc.mysql.Driver
url : jdbc:mysql://localhost:3306/xxx?useUnicode=true&charatEncoding=utf8
user:xxx
password:xxx
(注意:地址前一定是双 ’ / ‘,即是’ // ’)
3. 最后一定要注意记得导入驱动包,并build pass。一个是:mysql-connector-java-5.1.47.jar 。如果使用dbutil,还需导入:commons-dbutils-1.7.jar
3.URL中最好加上useSSL=false禁用mysql与jdbc版本不一致验证。
3.properties.load(xxx.class.getResourceAsStream())时,最好使用这种相对路径加载,
(另一种properties.load(xxx.class.getClassLoder().getSystemResourceAsStream())容易报错。原因可能是没有关闭资源导致二次连接,而类加载器第一次已经预编译过文件)
(提示:如果编译连接的java文件与properties配置文件不在同一包下,则load的相对地址前面需要加上一个 ’/‘ 表示退出到根目录)
4.jdbc连不上的问题:
一是:连接URL格式出现了问题(Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/XX”,“root”,“XXXX”)
二是:驱动字符串出错(com.mysql.jdbc.Driver)
三是:Classpath中没有加入合适的mysql_jdbc驱动
四是:WEB-INF\lib中添加mysql-connector-java-3.1.14-bin.jar
原文链接:https://blog.csdn.net/qq_20936333/article/details/81254928
5.dbutil使用BeanListHandler出来的集为null:
(问题解决:
1、使用DBUtils查询数据,如果使用ArrayListHandler等都能够返回正确值,但使用BeanListHandler 和 BeanHandler则一直返回null;
解决方法1(使用DBUtils1.5版本):使bean的字段与数据库字段名称一致即可,或者说,使该实体类各字段的setter和getter方法的名字要与结果集(也可以说是数据库表字段名称,但不要求该bean的私有成员与表结果集列名一致))
原文链接:https://blog.csdn.net/qq_22158021/article/details/77001631
6.jsp运用java类对象提示报错
解决办法:
1,使用快建alt+/ 提示导入相应类包。
2,或者手写格式<%@page import=“包名 . 类名”%>。