当前位置:首页 » 网页前端 » javaweb项目调试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javaweb项目调试

发布时间: 2023-07-05 14:24:42

‘壹’ java web开发中如何使用浏览器进行网页调试

最好用的就是火狐的firebug了。安装好插件,F12呼出, 切换到脚本选项卡, 打上断点,跟在eslipse中调试代码差不多。

chrome和IE也有自己的调试插件,使用起来大同小异

‘贰’ 怎样调试一个java web项目,用了jsp,mysql等等。

可以断点调试啊,是在myEclipse中运行的吗,用的tomcat?

运行的时候点debug运行就可以了,然后在登陆的方法上打断点

Eclipse也一样,都可以debug运行

‘叁’ 如何设置服务器上发布的Java Web项目,与本地Eclipse进行连接调试

将eclipse的tomcat或别的eclipse支持web容器,设置在eclipse里面

‘肆’ 如何使用junit测试javaweb工程

一:创建一个测试类,建议将测试类单独放在一个包中(在 maven 项目里有测试类专门的存放位置),新建一个Junit Test Case类,下一步

测试类的命名建议是你将要测试的类名+Test,然后点 Browse, 你可以选择要进行测试的类(一般选择 Service, 因为 Service 关心的是业务需求),用这种方式创建可以自动生成要测试类的测试类,你只需要进行测试代码的书写.

@Test
public void testqueryById(){

} @Test
public void testQueryAll(){

} @Test
public void testReceNumber(){

}123456789101112

如果里面有自动生成的代码,删除或注释即可…

二:配置 spring 和 junit 整合, junit 启动时加载 springIOC 容器,这里你需要 Spring-test jar包

@RunWith(SpringJUnit4ClassRunner.class) //告诉junitspring配置文件
@ContextConfiguration(locations = {"classpath:spring/spring-.xml"})123

同样的,在测试类中我们会调用 Service 的逻辑,由于我们使用的是 Spring+SpringMVC+ 持久化框架,所以要注入一个 IService 接口(这里我直接对 DAO 进行测试了)

@Autowired
private SeckillDao seckillDao;12

接下来是测试逻辑,在编写测试代码之前建议覆盖实体中的 toString 方法,不然打印会很麻烦.

@Test public void testqueryById(){ long id = 1000;
Seckill seckill = seckillDao.queryById(id);
System.out.println(seckill.getSeckillName());
System.out.println(seckill);
} //JAVA没有保存形参的记录,如果你在 中传了多个参数,那么需要声明它的形参对应的实参,否则 JVM 会显示找不到参数.声明方式稍后奉上
@Test public void testQueryAll(){
List<Seckill> seckills = seckillDao.queryAll(0, 100); for(Seckill seckill:seckills){
System.out.println(seckill);
}
}

@Test public void testReceNumber(){
Date killTime = new Date(); //对增加进行测试的时候,只要数据库增加了一条数据,我们就默认这个方法执行成功了
int updateCount = seckillDao.receNumber(1000L, killTime);
System.out.println("updateCount = "+updateCount);
}

解决JAVA不保存形参的记录

int receNumber(@Param("seckillId")long seckillId,@Param("killTime")Date killTime);

Seckill queryById(long seckillId); /**
* mysql的分页查询
* @param offset 告诉它实际的形参
* @param limit
* @return
*/
List<Seckill> queryAll(@Param("offset")int offset,@Param("limit")int limit);1234567891011

接下来我们根据他返回的结果和我们想要的结果对应就可以了. 测试类不用部署项目, 测试周期非常短, 而且可以进行专项测试. 测试类代码逻辑十分简单, 几乎不会出错. 如果结果不是预期的, 那么根据你的需求修改!
当然, 它的局限性也很打. 从单元测试不能看出页面传值的错误, 许多项目在服务器中的表现也不能模拟.
那么我们什么时候用junit呢?
当你的数据库操作非常复杂, 你不确定能输出你想要的值的时候, 相比用 debug 调试, 使用 Junit 是更方便的手段.或者新手出错概率非常大, 也不用在服务器中专门测试项目的表现, Junit 是个必备的工具!而且测试类的测试代码重用性很高.
如果你的数据和预期相悖, 那么修改业务逻辑; 否则, 查看页面是否有错! Junit在一定程度上减轻了我们业务代码调试的压力, 让我们关注于一点解决错误.