Java项目出现的问题02----学习
1 框架配置无.java
在框架配置中当需要写类名是,注意是没有后面.java的
2 类中找不到main方法请将main方法定义为public static void main.
否则 JavaFX 应用程序类必须扩展javafx.application.Application
今天在用spring框架的时候遇到了这个问题,原因是因为org.springframework.spring-library-3.1.0.M2.libd这个包出现了问题,只要在.classpath文件把其注释了即可
<!--
<classpathentry kind="lib" path="lib/org.springframework.spring-library-3.1.0.M2.libd"/>
-->
3 POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误。
异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric cell的异常错误。
解决方法:先设置cell类型,再读取
1 设置类型 : cell0.setCellType(Cell.CELL_TYPE_STRING);
2 读取 : student.setNumber(cell0.getStringCellValue());
4 Java生成32位随机数
/**
* 生成32位编码
* @return string
*/
public static String getUUID(){
String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
return uuid;
}
5 文本文档有乱码
因为使用的Sublime Text这个工具它的编码格式和直接用文本文档打开的有所不同,它使用的utf-8而文本文档使用的ASIC码可能会有乱码,要注意
7 POI操作Excel中有空指针异常
原因: 某些单元格为空造成了空指针
解决方法:对于整行为空的 if(sheet.getRow == null) 对于某个单元格为空的if (row.getCell(0) == null)
注意:要先判断是否整行为空,否则会报错的。因为当整行为空时是无法获取到单元格的
8 清空数据表和删除数据表
1 truncate是整体删除(速度较快), delete是逐条删除(速度较慢)
2 truncate不激活trigger(触发器),但是会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。
9 在有外键约束的情况下删除数据
首先,在数据库中查看外键是否有效(没有设置之前都是有效),命令:select@@foreign_key_checks; 若显示值为1则表示外键有效此时不能删除数据。将外键的值设置为0,此时就是失效状态,命令:set foreign_key_checks = 0,这时就能删除数据了。删除之后,外键再设置为有效set foreign_key_checks = 1
10 删除数据库中的一列
alter table tablename drop columnname;
11 hibernate操作数据库中的一对多与多对一
当一对多设置外键时其外键仍然显示在多对一的表中,例如商品分类和商品表,设置商品分类的外键与商品建立联系发现外键会出现在商品表中,这和对商品设置外键多对一的形式上是一样的。虽然形式上一样但建立的外键关系不同。
12 为什么Jsp可以执行java代码
在执行的过程中jsp被翻译为了servlet,具体可参考servlet的执行流程。
13 .jsp不被拦截
直接在浏览器上输出.jsp的地址是不会被struts的过滤器拦截的,会直接找到相对应的jsp界面.直接输入项目名称会默认访问index.jsp界面
14 @Test使用
1 不要在main方法上加@test 2 不要把自己写的类命名为Test.java
15 WEB-INF下的路径问题
今天在how2j上的struts+hibernate项目中有一个在WEB-INF下有一个product文件夹下有一个list.jsp文件;在返回值时直接写的是<result name="listJsp">/product/list.jsp</result>运行后发现是404错误,最后发现是<result name="listJsp">WEB-INF/product/list.jsp</result>,应该写上WEB-INF路径,对于不同平台可能不同这一点要注意到。
16 java.lang.IllegalArgumentException
仔细看错误报告是在程序:
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"}); 传入了错误参数,但在前面是程序就运行正常。后面发现是导入包的版本不支持JDK8的特性,因此需要重新导入版本比较新的包。在spring采用注解方式配置aop时出现了这个错误,因为一开始导入的包是视频里给的比较老了。
17 c3p0连接池
spring里的这个主要是用来根oracle交互的,用mysql可以不用管。
18 org.springframework.dao.InvalidDataAccessResourceUsageException:异常
这个是数据库出现了异常,可能是不是数据库里没有数据或者其他原因。我遇到的是数据库根本没有创建,然后查询抛出了这个异常。数据库没有被创建爱是因为因为数据库的版本不同没有添加在节点添加hibernate,可参考代码笔记springHibernate01项目的备注。此外要注意在数据库操作时一定要先有数据否则删除、查询可能会报错。
19 瞬时对象与持久对象
当把鼠标放在属性管理、产品管理、编辑或者删除选项时,在其页面的右下角都会显示一行小字这个就是页面的瞬时对象。比如想要顺利的知道某一分类下的属性管理都有哪些就要把相应的瞬时对象改变为持久对象才能从数据库种读取数据。
0
Java项目出现的问题02----学习的更多相关文章
- Redis学习笔记之二 :在Java项目中使用Redis
成功配置redis之后,便来学习使用redis.首先了解下redis的数据类型. Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set( ...
- java项目(学习和研究)
java项目就是研究,不断的对项目进行迭代,把产品做的越来越好,就是research. 自己想着做一个java项目把,可以类似牛客网,想好自己的预期产品,在设计的过程中可以不断改进和扩展,在做这个项目 ...
- Java基础学习总结(70)——开发Java项目常用的工具汇总
要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...
- IDEA 学习笔记之 Java项目开发深入学习(2)
Java项目开发深入学习(2): 查找变量被用到的地方 编译当前文件 增加变量watch 注意:我使用了keymap (eclipse模板),所以很多快捷键和eclipse一样. F5单步调试进入函数 ...
- IDEA 学习笔记之 Java项目开发深入学习(1)
Java项目开发深入学习(1): 定义编译输出路径: 继承以上工程配置 重新定义新的项目编译路径 添加source目录:点击添加,再点击移除: 编译项目: 常用快捷键总结: Ctrl+Space 代码 ...
- 从零构建Java项目(Maven+SpringBoot+Git) #02 奥斯丁项目
前两天我说要写个项目来持续迭代,有好多小伙伴都表示支持和鼓励,项目的第一篇这不就来了么~我给项目取了个名字,英文名叫做:austin,中文名叫做:奥斯丁 名字倒没有什么特别的含义,我单纯觉得这个名字好 ...
- Java学习之道:Java项目打包发布
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...
- java学习笔记(一):开始第一个java项目
这里使用IntelliJ IDEA 来新建第一个java项目 在新建项目向导,你可以选择你的项目支持的技术,你正在做一个普通的Java项目,只需单击下一步. 下一步,新建一个test的项目. 新建一个 ...
- Gradle学习笔记(1)创建简单的Java项目
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置.当前 ...
- Maven 学习笔记——将普通的Java项目转换成Maven项目(3)
将一个普通的java项目转换成Maven项目并不是一个很大的任务,仅仅只需要下面的几步就能将转换成功.下面我是用一个简单的Selenium测试小demon作为例子来说的. 移调项目中所有关联的Libr ...
随机推荐
- mac电脑上从终端命令行进入电脑里U盘目录下
一般Mac电脑上u盘都在 Volumes 目录下,所以进入u盘可按如下命令: cd /Volumes/u盘名称
- Codeforces 1097D. Makoto and a Blackboard
传送门 首先考虑如果 $n$ 只有一个质因数的情况,即 $n=p^t$ 那么显然可以 $dp$ ,设 $f[i][j]$ 表示第 $i$ 步,当前剩下 $p^j$ 的概率 那么转移很简单: $f[i] ...
- hdu 6043 KazaQ's Socks
规律题.我自己写的规律对长度为2的要特判,wa一万次... 规律题目,容易错的反而是数据小的时候,得长记性. 题解:规律 先是1~n 然后1~n-2 n-1 1~n-2 n 交替出现 比如当n=4 ...
- MySql学习- 存储引擎简介
mysql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎. 每一种存储引擎使用不同的存储机制.索引技巧.锁定水平,最终提供广泛且不同的功能. MySQL支持的存储引擎: MyISA ...
- spark application调度机制(spreadOutApps,oneExecutorPerWorker 算法)
1.要想明白spark application调度机制,需要回答一下几个问题: 1.谁来调度? 2.为谁调度? 3.调度什么? 3.何时调度? 4.调度算法 前四个问题可以用如下一句话里来回答:每当集 ...
- vue runtime报错问题
Webpack中导入vue和普通网页中导入vue的区别1. 普通网页导入vue方式 <script></script> 2. Webpack导入vue方式 Import Vue ...
- python之atexit模块的使用
python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数,这个函数在解释器正常终止时自动执行,一般用来做一些资源清理的操作. atexit 按 ...
- Redis缓存策略设计及常见问题
Redis缓存设计及常见问题 缓存能够有效地加速应用的读写速度,同时也可以降低后端负载,对日常应用的开发至关重要.下面会介绍缓存使用技巧和设计方案,包含如下内容:缓存的收益和成本分析.缓存更新策略的选 ...
- Jmeter服务器压力测试使用说明
Jmeter服务器压力测试使用说明 Apache JMeter是Apache组织开发的基于Java的压力测试工具. 官方地址:http://jmeter.apache.org/download_jme ...
- 关于linux一些备份、还原,压缩,归档的命令
15.1 gzipgzip(1) 是GNU的压缩程序.它只对单个文件进行压缩.基本用法如下:$ gzip filename程序执行以后,文件名会变成filename.gz,而且一般情况下大小会比原文件 ...