- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
軟件架构小组实验报告1-3
中南大学
软件开发架构平台技术
实验报告
姓 名: 学 号: 班 级: 指导老师: 完成时间: 2014-05
实验 基于MVC的JPetStore开发
一、完成项目的过程和时间安排
完成过程:实验由我们小组三人合作完成,考虑到我们对这个实验相关的知识都还比较陌生,我们商量后决定每个人做自己的,遇到问题互相讨论,最终我们小组成员也都先后完成实验,达到实验预期的目标,完成了基于MVC的JPetStore的开发。
时间安排:我们小组利用三天时间完成实验,事先对相关知识的熟悉大概花费了1天的时间,大部分的时间都用来编码和调试。
二、遇到的问题和解决方法
简单的说一下做的过程中遇到的几个问题,有些问题虽然看着很简单,但是在实验过程中确实经常因为一些很简单的问题卡很久。
问题1. 商品展示部分product只能显示一条内容
解决方法:一开始是以为jsp页面显示出了问题,但是没有检查出结果,后来发现页面显示出的全都是每一个类型的第一条内容,后来我开始在servlet方面查错,通过一层层的调用system.out.println();方法,最终发现我在DAO层的Impl实现类中把while写成了if,问题的原因也就显而易见了。
问题2. 在商品展示模块,所有的图片都无法正常显示
解决方法:经过检查jsp页面内容都没有出错,后来发现由于组织工程的文件夹内容不同,在数据库中的路径写的不一致,他用的是绝对路径,我改成了相对路径后问题解决。
问题3. 在编写OrderDAOImpl的过程中出现了时间类型不匹配的情况
解决方法:一直报类型转换错误的异常,我很奇怪异常中写道必须为Date类,可是确实用的Date类的对象。后来通过上网查找问题发现这是由于pStatement.setDate 需要一个java.sql.Date类的对象。而我传给它的参数是一个java.util.Date类的对象,于是我用这个的语句解决了这个问题:
pStatement.setDate(3,new java.sql.Date(order.getOrderDate().getTime()));
问题4. 如何读取checkbox中是否勾选信息
解决方法:一开始我认为checkbox返回的是boolean类型的值,后来通过上网查资料发现,如果不勾选时checkbox所对应属性的值为null,于是我用了这样的语句判断是否勾选。
Boolean ship = request.getParameter(shippingAddressRequired)==null;
account.setListOption(request.getParameter(account.listOption).equals(true) ? true : false);
问题5. 没有找到例子中的合适的检测是否登录的方法
解决方法:由于给的例子用了框架等方法,没有找到可以用的检测是否在登录状态的类,于是我自己写了一个方法。
public Boolean getAccountByUsernameAndPasswordOnly(Account account) {
boolean selectResult = false;
Connection connection = DBUtil.getConnection();
try {
PreparedStatement pStatement = connection
.prepareStatement(getAccountByUsernameAndPasswordOnlySql);
pStatement.setString(1, account.getUsername());
pStatement.setString(2, account.getPassword());
ResultSet resultSet = pStatement.executeQuery();
if (resultSet.next()) {
selectResult = true;
}
DBUtil.closeResultSet(resultSet);
DBUtil.closePreparedStatement(pStatement);
DBUtil.closeConnection(connection);
} catch (Exception e) {
e.printStackTrace();
}
return selectResult;
}
三、小组成员分工
组长:张先凯
小组三人均独立完成实验要求内容
文档评论(0)