没有合适的资源?快使用搜索试试~ 我知道了~
Java程序调试与错误收集--代码引起的报错
4星 · 超过85%的资源 需积分: 47 34 下载量 181 浏览量
2011-01-21
17:14:02
上传
评论 1
收藏 4KB TXT 举报
温馨提示
试读
2页
适合初级程序员查错的Java程序调试与错误收集--代码引起的报错
资源推荐
资源详情
资源评论
一.Java程序调试与错误收集--代码引起的报错
(2).代码错误导致的错
①.当页面/控制台报错时(没有遇到过的错/看不懂的错),先看错误信息中的错误信息来源于哪个类/方法/哪行代码,在根据那行代码多试几中方法
②.保存时发生的错误:当jsp文件中的内容改变,要保存的时候,要先把第一行的pageEncoding属性值设置为utf-8,否则将报错不能保存
③.启动服务器报错,可能的错误有:配置文件有错,也可能是JSP页面中的标签有错(此时它不一定报正在使用的程序的错,有可能报其他程序的错),可以在服务器的webapps
目录下把标签有错的项目删除
④.JavaBean引起的错误:
JavaBean的属性名首字母必须小写,否则即使再dao层、server层和servlet中可以取得其中的值,在Jsp页面中无论用什么方法都不能取得
⑤.当不出现预想的效果时,如果确认不是浏览器缓存所致,但又找不出错误和原因并浏览器状态栏左边出现有"网页上有错误"的消息时,双击此消息>单击弹出框中的"显示
详细信息"按钮查看错误(其中的"行"和"错误"说明了错误的位置和原因)
⑥.当在jsp页面中用<c:foreach>和EL表达式不能取到值时,应当首先检查是否导入c:标签库,再检查JavaBean的所有属性名首字母是否是小写
⑦.当导入一个包报错时,如果包名确认无误且当鼠标放在包名上提示The import java.... conflicts with a type defined in the same file时,表示声明的类名和导入
的包名冲突
⑧.当控制台出现有java.lang.ClassNotFoundException:的错误时,说明项目找不到Servlet,可能是web.xml中没有配置或配置错误,如果确认配置没有错但仍然报此错误时
,就把web.xml中对应的Servlet的节点删除,同时也把对应的Servlet删除重新新建
⑨.当一个jsp页面要有上传的功能时,要在form表单中加一个enctype="multipart/form-data"属性,但是在jsp页面的form表单中加了该属性后,该表单中的所有控件(包括
隐藏表单域)的值在servlet中不能用一般的方法获得,必须加判断那些是普通控件那些是上传文件的控件,再用别的方法获取,所以这时用作传参数的隐藏表单中的参数
必须加在form表单的action属性中来传递,其方法是:action="servlet?name=value"(即:这时隐藏表单必须用action代替),这时在servlet中才能用一般的获取值的方法
获取jsp页面传来的值
⑩.当一个jsp页面跳到servlet后又经过servle逃到另一个jsp页面,页面出现乱码时,是因为没有在servlet中设置请求流和相应流的编码方式,response.setContentType(
"text/html;charset=utf-8");request.setCharacterEncoding("utf-8");
11.当控制台出现有"...将截取字符串错误..."的错误时,是因为数据库相应字段的数据长度不够
12.当访问任意一个页面都出现404错误时或当启动Tomcat服务器在控制台打印相关报错语句时,可能是因为web.xml或其他xml配置文件配置错误也可能是因为导入的jar包
冲突.
13.当控制台出现有com.microsoft.sqlserver.jdbc.SQLServerException:到主机的TCP/IP连接失败。java.net.ConnectException:Connection refused:connect的错误时
,可能是因为数据库的端口号不对,打开SQL Server配置管理器中的SQL Server 2005网络配置中的SQLEXPRESS的协议的TCP/IP中的IP地址项中的所有TCP端口都设置对,
并将其中的活动和已启用项设为是/yes和协议项中的全部侦听、无延迟、已启用都设为是/yes,再重新启动SQL Server 2005服务中的SQL Server(SQLEXPRESS)即可
14.当从servlet或Action跳到一个查询或修改的页面时,如果报500错误并在控制台打印javax.el.PropertyNotFoundException:Property 'PropertyName' not found on
type ...,可能是因为目标页面中的<c:forEach>的items的值写成了直接用""引起的字符串,items的""中应该用EL取值,即应该是items="${List或Object}",或者是EL中
的对象/属性名和javaBean中的不同(应仔细检查)
(2).代码错误导致的错
①.当页面/控制台报错时(没有遇到过的错/看不懂的错),先看错误信息中的错误信息来源于哪个类/方法/哪行代码,在根据那行代码多试几中方法
②.保存时发生的错误:当jsp文件中的内容改变,要保存的时候,要先把第一行的pageEncoding属性值设置为utf-8,否则将报错不能保存
③.启动服务器报错,可能的错误有:配置文件有错,也可能是JSP页面中的标签有错(此时它不一定报正在使用的程序的错,有可能报其他程序的错),可以在服务器的webapps
目录下把标签有错的项目删除
④.JavaBean引起的错误:
JavaBean的属性名首字母必须小写,否则即使再dao层、server层和servlet中可以取得其中的值,在Jsp页面中无论用什么方法都不能取得
⑤.当不出现预想的效果时,如果确认不是浏览器缓存所致,但又找不出错误和原因并浏览器状态栏左边出现有"网页上有错误"的消息时,双击此消息>单击弹出框中的"显示
详细信息"按钮查看错误(其中的"行"和"错误"说明了错误的位置和原因)
⑥.当在jsp页面中用<c:foreach>和EL表达式不能取到值时,应当首先检查是否导入c:标签库,再检查JavaBean的所有属性名首字母是否是小写
⑦.当导入一个包报错时,如果包名确认无误且当鼠标放在包名上提示The import java.... conflicts with a type defined in the same file时,表示声明的类名和导入
的包名冲突
⑧.当控制台出现有java.lang.ClassNotFoundException:的错误时,说明项目找不到Servlet,可能是web.xml中没有配置或配置错误,如果确认配置没有错但仍然报此错误时
,就把web.xml中对应的Servlet的节点删除,同时也把对应的Servlet删除重新新建
⑨.当一个jsp页面要有上传的功能时,要在form表单中加一个enctype="multipart/form-data"属性,但是在jsp页面的form表单中加了该属性后,该表单中的所有控件(包括
隐藏表单域)的值在servlet中不能用一般的方法获得,必须加判断那些是普通控件那些是上传文件的控件,再用别的方法获取,所以这时用作传参数的隐藏表单中的参数
必须加在form表单的action属性中来传递,其方法是:action="servlet?name=value"(即:这时隐藏表单必须用action代替),这时在servlet中才能用一般的获取值的方法
获取jsp页面传来的值
⑩.当一个jsp页面跳到servlet后又经过servle逃到另一个jsp页面,页面出现乱码时,是因为没有在servlet中设置请求流和相应流的编码方式,response.setContentType(
"text/html;charset=utf-8");request.setCharacterEncoding("utf-8");
11.当控制台出现有"...将截取字符串错误..."的错误时,是因为数据库相应字段的数据长度不够
12.当访问任意一个页面都出现404错误时或当启动Tomcat服务器在控制台打印相关报错语句时,可能是因为web.xml或其他xml配置文件配置错误也可能是因为导入的jar包
冲突.
13.当控制台出现有com.microsoft.sqlserver.jdbc.SQLServerException:到主机的TCP/IP连接失败。java.net.ConnectException:Connection refused:connect的错误时
,可能是因为数据库的端口号不对,打开SQL Server配置管理器中的SQL Server 2005网络配置中的SQLEXPRESS的协议的TCP/IP中的IP地址项中的所有TCP端口都设置对,
并将其中的活动和已启用项设为是/yes和协议项中的全部侦听、无延迟、已启用都设为是/yes,再重新启动SQL Server 2005服务中的SQL Server(SQLEXPRESS)即可
14.当从servlet或Action跳到一个查询或修改的页面时,如果报500错误并在控制台打印javax.el.PropertyNotFoundException:Property 'PropertyName' not found on
type ...,可能是因为目标页面中的<c:forEach>的items的值写成了直接用""引起的字符串,items的""中应该用EL取值,即应该是items="${List或Object}",或者是EL中
的对象/属性名和javaBean中的不同(应仔细检查)
资源评论
- 林贵志2014-06-07写的东西都太专业化了,像我这种小白也看不懂…
- Lycheeay2013-10-11虽然没有解决我的错误 但是还不错
指尖的吻
- 粉丝: 2
- 资源: 54
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功