慕粉4587756
还7697528
看看从数据库取出来之后有没有使用set方法给对象赋值
小丶七
我也是这个问题,找不到这个解决的方法
薛某某的猫
那个方法只是用于检测是否连上,如果不直接执行那个类文件的话,是没有用处的,mian方法删掉没得任何影响
慕尼黑6639012
能执行, 试一下就知道了
qq_不停歇的小马达_0
慕勒2586985
如你截图 getNString() 检查下查询那是不是有写错了。
如火般耀眼
忧伤的民工
时光里的赶路人
这是单例模式和jdbc连接数据库,你可以百度找下资料
rey2015
你把 itemsdao类里面的,也换成#就行了
qq_何足道_1
run左边不是有个目录表吗,可以在目录表里面选择你要运行的项目
旧时光__
<%@ page language="java" import="java.util.*"
contentType="text/html; charset=utf-8"%>
<%@ page import="entity.Items"%>
<%@ page import="dao.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
img {
width: 200px;
height: 150px;
border: 1px solid black;
}
div {
float: left;
margin: 10px;
}
</style>
</style>
</head>
<body>
<h1>商品展示</h1>
<hr>
<center>
<table width="750" height="60" cellpadding="0" cellspacing="0"
border="0">
<tr>
<td>
<!-- 商品循环开始 --> <%
ItemsDAO itemsDao = new ItemsDAO();
ArrayList<Items> list = itemsDao.getAllItems();
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
Items item = list.get(i);
%>
<div>
<table>
<tr>
<td colspan="2"><a href="detail.jsp?id=<%=item.getId()%>"><img alt=""
src="images/<%=item.getPicture()%>"></a></td>
</tr>
<tr>
<td><%=item.getName()%></td>
</tr>
<tr>
<td>产地:<%=item.getCity()%></td>
<td>价格:<%=item.getPrice()%>元
</td>
</tr>
</table>
</div>
<%
}
}
%>
</td>
</tr>
</table>
</center>
</body>
</html>
慕容1322143
No operations allowed after connection closed.(在数据库关闭后不允许操作数据库)
看看是不是在你获取id值前,关闭了数据库。
摄影祖师爷
宝慕林4765958
图片传值就给图片设置超链接加参数,id为空你要去检查在传参的地方键是否和接受的键是一致的
慕哥8045220
在JSP页面,用form表单中的action属性来实现页面的跳转或者提交。可以跳转到servlet层,通过servlet层进入到数据库,把注册的数据添加到数据当中,然后在回到servlet层,通过servlet层跳转到登陆页面,然后再进行登陆就行了
moummm
你的 ItemsDao类中的 getItems()方法中的 item你创建的时候写的是:“Item item = null;”这样你给 item实例 的属性赋值调用 Item类 的方法的时候,系统认不出来这个 item引用 是 Item类型 的,所以无法赋值会直接报错,导致程序并没有执行,所以你的 items数组 中其实什么也没加进去是空的;
所以你的创建item是应该调用 Item类的构造方法:“Item item = new Item();”,这样系统才可以认出这个 item引用 是 Item类型 的引用;
另外while循环中最后一行,你把item引用置为空了而且又没有新创建一个 Item类型的实例,这样你第二次执行循环会出同样的错,而 ArrayList的add 存的只是对象的引用,并不是把对象内容重新copy一份再把新引用存进去,如果引用所指向的实例内容发生变化的话,ArrayList中引用指向的实例内容也随之发生变化。
所以 你应该把 item实例 的创建写进循环内部,每次循环都创建一个 item新实例,再进行赋值并添加到 items数组 中;
如果不是每次循环每次新建的话,你最后 items数组 中存的其实是同一个item的引用,也就是说虽然有十条绳子,但是牵的是一条狗。最终会导致 items数组 中的内容都一样,页面里显示的是同一个商品,只不过显示了十个。
追逐者125
<a href="details.jsp?id=<item.getId()>" 这里的?后面id会作为参数传递过去,下一个页面可以request.getpapameter()到
慕斯9115879
我觉得是pid没有值传过来
个地方房间打开看看房东说
软件部所谓了,我用的也不是myecplise,这个软件太丑了, 我用的是IDEA, 主要还是对J2EE和web服务的理解吧。
Kiuber
传递一个ID能保证每次获取的数据都是最新的,不然可能数据库中已经修改了商品信息,从集合中获取的数据就不是最新的了,生产环境中会出现问题,比如价格的变化
码砖小丸子
你的itemsDao.a();是什么东西啊?
码砖小丸子
能否描述清楚一点,最好有报错信息等等
qq_哇咔咔_16
执行sql命令: create database shopping
慕粉2333001784
rs.close()是把从数据库查询的结果从缓存清空,stmt.close()是把预编译的数据库查询语句清空
(select * from items),即使没有close()方法程序结束时也会自己清空缓存的数据,一般好的编程习惯在最后都会加上.close()方法。关于close()方法在学IO流的时候有详细讲解
慕粉2333001784
主要看rs:rs是ResultSet对象——ResultSet对象 具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集(以上摘自网络)。你的这些代码就在while(rs.next())循环里面,顺序就是按照数据表的顺序读取。
jfhdibrbfjd
谢谢你的回答
qq_十三夫人_0
你看下这块写对了么,你这个错误我看着是details jsp页面接受到的id不对啊.
<a href="details.jsp?id=<%=i.getId()%>">
纯情小豆比
在itemsDAO你定义了.getViewList这个方法吗