论坛首页 入门技术论坛

Java异常与解决方案

浏览 3016 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-20   最后修改:2009-03-20
[/u][u]总结记录项目开发过程的遇到的异常与解决方案:

1.java.net.BindException: Address already in use: JVM_Bind<null>:8080
原因:8080端口已经被占用。
解决:查看哪个程序占用了8080端口,并关闭该程序。然后重启Tomcat.

2.查看端口被哪个进程占用的方法
1、运行-cmd,然后输入netstat -ano,回车;
2、查看本地地址中包含xx.xx.xx.xx:80的那一行的pid,为几个数字,把这几个数字记下来;
3、启动“任务管理器”——“进程”,在工具栏——“选择列”前面的框打上勾;
4、然后查看与刚才那个pid对应的是哪个程序,很容易就会找到,就是它占用了80端口。

3.java.lang.NoClassDefFoundError: ...
原因:类找不到,缺少资源包
解决:导入相应的资源包(或类文件)

4.MyEclipse处理中文乱码
解决:添加插件。
插件地址:http://propedit.sourceforge.jp/eclipse/updates/
打开MyEclipse中的 Help -> Software Upates... -> Avaliable Software -> Add Site...
把插件的网址添加进去,进行安装就好了。

5.Servlet.service() for servlet action threw exception
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer

原因:Hibernate版本问题。
解决:使用Integer和Long的超类Number解决。
eg:
pager.setTotalRows(((Integer)q.list().get(0)).intValue());
改为:
pager.setTotalRows(((Number)q.list().get(0)).intValue());

6.分清x++和++x的含义
解决:x++ 首先取 x 的值,再将值加 1, 然后将结果赋回给 x,并 "取" x 的初始值作为表达式的最终值。与此对比,++x 首先取 x 的值,再将值加 1,然后将结果赋回给 x, 并取 x 的新值作为表达式的最终值。
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics