购物车程序(servlet)异常执行,解决问题马上散分
购物车客户端ShowCart.html代码如下,执行错误是这样的:
单击“加入购物车”按钮后,不执行servlet,而会弹出“文件下载”对话框,这是为什么呀?望高手赐教.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>购物篮的实例</title>
</head>
<body>
<center><h1>电器商场</h1></center>
<hr>
<form action="servlet/ShowCart" method="GET" name=frm1>
先购商品
<p><input type="Checkbox" name="item" value="0">
第一种:电视机</p>
<p><input type="Checkbox" name="item" value="1">
第二种:电冰箱</p>
<p><input type="Checkbox" name="item" value="2">
第三种:电脑</p>
<hr>
<input type="Submit" name="btn_submit" value="加入购物篮">
</form>
</body>
</html>
问题点数:20、回复次数:3Top
1 楼allenjay2003(你应当了解真相,真相会使你自由)回复于 2006-03-18 16:54:26 得分 0
把servlet得代码贴一下Top
2 楼zhang11wu4()回复于 2006-03-18 16:59:44 得分 0
package org.work;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class ShowCart extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
String[] items={"电视机","电冰箱","电脑"};
HttpSession session = req.getSession(true);
Integer itemCount = (Integer)session.getAttribute("itemCount");
if(itemCount == null)
{
itemCount = new Integer(0);
}
res.setContentType("text/html:charset=gb2312");
PrintWriter out = null;
try
{
out = res.getWriter();
}
catch(Exception e)
{}
//取得POST上来的表单信息
String[] itemsSelected;
String itemName;
itemsSelected = req.getParameterValues("item");
//将选中的商品放入会话对象
if(itemsSelected != null)
{
for(int i=0;i<itemsSelected.length;i++)
{
itemName = itemsSelected[i];
itemCount = new Integer(itemCount.intValue()+1);
session.setAttribute("Item" + itemCount,itemName);
session.setAttribute("itemCount",itemCount);
}
}
//写网页头的HTML
out.println("<html>");
out.println("<head>");
out.println("<title>购物篮里的内容</title>");
out.println("</head>");
out.println("<body>");
out.println("<center><h1>您放在购物篮中的商品是:</h1></center>");
//将购物篮的内容写入网页
for(int i=1;i<=itemCount.intValue();i++)
{
String item = (String)session.getAttribute("Item"+i);
out.println(items[Integer.parseInt(item)]);
out.println("<BR>");
}
out.println("<hr><p></p><A href=\"../ShowCart.html\">继续选购</a>");
out.println("</body>");
out.println("</html>");
out.close();
}
}Top
3 楼allenjay2003(你应当了解真相,真相会使你自由)回复于 2006-03-18 23:49:00 得分 20
没有定义响应类型
private static final String CONTENT_TYPE = "text/html; charset=GBK"
response.setContentType(CONTENT_TYPE)Top




