。。。publicclassUpdateNumberextendsHttpServlet{。。。publicvoiddoGet(。。。)throwsServletException,IOException{response.setContentType(CONTENT_TYPE);PrintWriterout=respo...
。。。
public class UpdateNumber
extends HttpServlet {
。。。
public void doGet(。。。) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
int id;
try {
id = Integer.parseInt(request.getParameter("CDID"));
}
catch (Exception ex) {
id = 1;
}
System.out.println("id是"+id);
User user = (User) session.getAttribute("LoginUser");
if (user == null) {
out.println("
out.println("alert(\"请先登录!\")");
out.println("window.open(\"Login.jsp\",\"_self\")");
out.println("");
return;
}
Map cart = (Map) session.getAttribute("cart");
Set cartItems = cart.keySet();
Object[] CDID = cartItems.toArray();
Cart ct = (Cart) cart.get(String.valueOf(CDID));//。。。。只有ct不能建立,其他都可以
if (ct==null) {
System.out.println("ct is null!");
ct = (Cart) cart.get(String.valueOf(id));
}else{
System.out.println("ct is not null!");
}
int amount;
try{
amount = ct.getNumber();
}catch(Exception ex){
amount=0;
}
if(id==0 || ct==null || amount<=0){
session.setAttribute("cart", cart);
out.println("
out.println("alert('出错!');");
out.println(" ");
return;
}
CDDAO dao = new CDDAO();
CD CD = dao.findCD(id);
if (CD == null){
System.out.println("CD对象is null!");
}else{
System.out.println("CD对象 is not null!");
}
String input = JOptionPane.showInputDialog("请输入您想修改" + CD.getCDName() +
"的数目", amount);
try {
if (input != null){
int number = Integer.parseInt(input);
System.out.println("number is"+number);
if (number <= 0) {
cart.remove(String.valueOf(id));
}
else {
ct.setNumber(number);
cart.put(String.valueOf(id), ct);
}
}else{
System.out.println("input is null!");
}
session.setAttribute("cart", cart);
out.println("
out.println("alert('数量修改成功!');window.location.href='Cart.jsp';");
}
catch (Exception ex) {
}
out.close();
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}
。。。
只有ct那一个对象不能建立 其它的都可以 为什么?
cart那一类:
package myshop.model;
import java.io.Serializable;
public class Cart implements Serializable {
private CD CD;
private int number = 0;
public Cart(CD CD, int number) {
this.CD = CD;
this.number = number;
}
public CD getCD() {
return this.CD;
}
public int getNumber() {
return number;
}
public Cart(CD CD) {
this(CD, 1);
}
private Cart() {
}
public void setNumber(int number) {
this.number = number;
}
public void setCD(CD CD) {
this.CD = CD;
}
}
展开