参考教程 how2j
1.有人讲还是好啊 你可以知道那些重要 F5 F6 F7
- 记住 要先在main()方法中设置断点 才能debug
2.web项目调试
3.常用快捷键
- ctrl shift r resource 资源文件
- ctrl shift t type 类
- ctrl o 查找方法
4.常用文件输入输出类
- BufferedReader
- BufferedWriter
- System.getProperty(“java.io.tmpdir”) java运行产生的临时文件目录
- File.separator 字符“/”
- 再加文件名
- /com/fangjun/esensoft2/util/grade1.txt 从java根目录下 开始写文件路径 不要写绝对路径
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54InputStream in = Test.class
.getResourceAsStream("/com/fangjun/esensoft2/util/grade1.txt");
OutputStream out=new FileOutputStream(
new File(System.getProperty("java.io.tmpdir")+File.separator+"111.txt"));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(out));
bw.write("+----------------------------------------------);
BufferedReader br = new BufferedReader(new InputStreamReader(
in, "UTF-8"));
try {
String line = br.readLine();
while (line != null) {
Grade pGrade = line2Grade(line);
list.add(pGrade);
line = br.readLine();
}
} finally {
br.close();
}
```
## 1.断点调试
- 断点概念: 断点就是指在调试模式下,当代码运行到断点这个位置的时候,就会停下来,便于开发者观察相关数据,进行代码逻辑的分析,排错。
- 调试视图与正常视图的切换:找小虫子icon就行
- 代码示例
```Java
public class HelloWorld {
public static void main(String[] args) {
int moneyEachDay = 0;
int day = 10;
int sum=0;
for (int i = 1; i <= day; i++) {
if(0==moneyEachDay)
moneyEachDay = 1;
else
moneyEachDay *= 2;
sum+=moneyEachDay;
System.out.println(i + " 天之后,洪帮主手中的钱总数是: " + sum );
}
}
}
2.调试视图区域介绍
- 当前是哪个线程,因为是非多线程程序,所以就是主线程
- 对第八行运行有影响的几个变量的值,这个就是调试的主要作用,观察这些值的多少,进行分析问题所在或者理解代码逻辑
- 当前代码,表示马上就要运行第八行,但是还没有来得及运行第八行
- 控制台输出
3.注意点
- 1.代码框设置断点后 取消断点 还是有痕迹 可在参数视图框中取消
- 2.左边的线程太多 直接邮件terminal all 再debug 一次就清除啦
4.单步运行 F6
- 这个感觉最实用
- 断点还没我直接sout方法直接
动态web项目 断点调试
- 与Java程序断点调试不同的是:加入啦tomcat
- 示例下载
1.设置断点 运行 步骤与上面一样
- 注意:就是多配置啦一个tomcat
- 还是觉得sout好 单步运行F6也不错
多控制台显示
- 需要启动两个进程,并且两个进程的控制台都能同时看到,以便于观察和比较。
- 具体设置技术含量不高 见how2j
大致情况:
我写啦5个action负责不同功能块 IndexAction 负责前台url跳转 ImportAction 导入VFS 功能代码
CreateTableAction 创建表功能代码 等 具体看文档注释
进度:
原型都写好啦 info.ftl index.ftl result.ftl等
CreateTableAction 完成并测试
IndexAction 完成并测试
问题:
1.文件数据转list数组 :由于文件每行格式并不相同 想啦几种判断方法 还未成功
2.UploadAction 功能块: 关于VFS 使用代码示例报错建数据库连接出现异常 没有为 driverClassName 赋值!正在找错
3.improtAction 功能块:跑啦下示例代码 没跑通
4.InfoAction 功能块:显示数据 没写