基于javaweb+mysql的jsp+servlet汉服商城系统(java+servlet+jsp+jdbc+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet汉服商城系统(java+servlet+jsp+jdbc+mysql)
项目介绍
本项目分为前后台,前台为普通用户登录,后台为管理员登录;
用户角色包含以下功能:
用户登录,查看首页,提交留言,查看商品详情,查看购物车,提交订单,查看我的订单,添加租赁人信息,修改会员资料等功能。
管理员角色包含以下功能:
管理员登录,会员信息管理,用户信息管理,资讯管理,友情链接管理,滚动图片管理,关于我们管理,服装类别管理,租赁方式管理,服装管理,库存管理,订单管理,留言管理等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7/8.0等版本均可;
6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
技术栈
Servlet、JSP、JDBC、MySQL5.7、Tomcat8
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
-
使用IDEA/Eclipse/MyEclipse导入项目;
-
将项目中util/SimpleDataSource.java配置文件中的数据库配置改为自己的配置;
-
运行项目,在浏览器中输入http://localhost:8080/jsp_hfzl_shop 登录 注:tomcat中配置项目路径必须为jsp_hfzl_shop
用户账号/密码: user/123456
管理员账号/密码:admin/admin
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
filename = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/"
+ filename);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
dao.commOper("insert into goods (goodno,goodname,fid,sid,price,note,savetime,shstatus,filename,istj,tprice,delstatus,salestatus,goodpp) "
+ "values ('"
+ goodno
+ "','"
+ goodname
+ "','"
+ fid
+ "','"
+ sid
+ "','"
+ price
+ "','"
+ note
+ "','"
+ savetime
+ "','通过','"
+ filename
+ "','"
+ istj
+ "','"
+ tprice
+ "','0','在售','" + goodpp + "') ");
request.setAttribute("suc", "操作成功!");
go("/admin/goodsgl.jsp", request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/goodsgl.jsp").forward(
request, response);
}
}
// 会员修改商品
if (ac.equals("goodsedit")) {
ArrayList<HashMap> list = (ArrayList<HashMap>) dao
.select("select * from protype where fatherid='" + fprotype
+ "' and delstatus='0' ");
if (list.size() > 0) {
for (HashMap map : list) {
xml += "<select><value>" + map.get("id") + "</value><text>"
+ map.get("typename") + "</text><value>"
+ map.get("id") + "</value><text>"
+ map.get("typename") + "</text></select>";
}
}
String last_xml = xml_start + xml + xml_end;
response.setContentType("text/xml;charset=GB2312");
response.setCharacterEncoding("utf-8");
response.getWriter().write(last_xml);
response.getWriter().flush();
}
// 公用方法,图片上传
if (ac.equals("uploadimg")) {
try {
String filename = "";
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
if (FileUpload.isMultipartContent(requestContext)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
FileItem fileItem = (FileItem) items.get(0);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
filename = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/"
+ filename);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
go("/js/uploadimg.jsp?filename=" + filename, request, response);
}
}
dao.commOper("insert into goods (goodno,goodname,fid,sid,price,note,savetime,shstatus,filename,istj,tprice,delstatus,salestatus,goodpp) "
+ "values ('"
+ goodno
+ "','"
+ goodname
+ "','"
+ fid
+ "','"
+ sid
+ "','"
+ price
+ "','"
+ note
+ "','"
+ savetime
+ "','通过','"
+ filename
+ "','"
+ istj
+ "','"
+ tprice
+ "','0','在售','" + goodpp + "') ");
request.setAttribute("suc", "操作成功!");
go("/admin/goodsgl.jsp", request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/goodsgl.jsp").forward(
request, response);
}
}
// 会员修改商品
if (ac.equals("goodsedit")) {
String id = request.getParameter("id");
HashMap map = dao.select("select * from goods where id=" + id).get(
0);
try {
String goodname = "";
String fid = "";
String sid = "";
String goodpp = "";
String price = "";
String note = "";
String filename = map.get("filename").toString();
request.setCharacterEncoding("utf-8");
String propertyname = request.getParameter("propertyname");
dao.commOper("insert into property (propertyname,delstatus) values ('"
+ propertyname + "','0') ");
request.setAttribute("suc", "");
go("/admin/propertyadd.jsp", request, response);
}
// 商品属性编辑
if (ac.equals("propertyedit")) {
String id = request.getParameter("id");
String propertyname = request.getParameter("propertyname");
dao.commOper("update property set propertyname='" + propertyname
+ "' where id=" + id);
request.setAttribute("suc", "");
go("/admin/propertyedit.jsp?id=" + id, request, response);
}
// AJAX根据父类查子类
if (ac.equals("searchsontype")) {
String xml_start = "<selects>";
String xml_end = "</selects>";
String xml = "";
String fprotype = request.getParameter("fprotype");
ArrayList<HashMap> list = (ArrayList<HashMap>) dao
.select("select * from protype where fatherid='" + fprotype
+ "' and delstatus='0' ");
if (list.size() > 0) {
for (HashMap map : list) {
xml += "<select><value>" + map.get("id") + "</value><text>"
+ map.get("typename") + "</text><value>"
+ map.get("id") + "</value><text>"
+ map.get("typename") + "</text></select>";
}
}
String last_xml = xml_start + xml + xml_end;
response.setContentType("text/xml;charset=GB2312");
response.setCharacterEncoding("utf-8");
response.getWriter().write(last_xml);
response.getWriter().flush();
}
// 公用方法,图片上传
if (ac.equals("uploadimg")) {
"¤tPage=").append(i).append(parameter).append(
"' class='ls'>[").append(i).append(
"]</a>");
}*/
buf.append(" ");
if (this.currentPage < this.pageNumber) {
buf.append("<a href='").append(this.path).append("¤tPage=")
.append(currentPage + 1).append(parameter).append(
"' class='ls'>").append("下页")
.append("</a>");
} else {
buf.append("下页");
}
buf.append(" ");
if (this.currentPage == this.pageNumber)
buf.append("末页 ");
else
buf.append("<a href='").append(this.path).append("¤tPage=")
.append(this.pageNumber).append(parameter).append(
"' class='ls'>").append("末页")
.append("</a></font> ");
//
// for (int i = 0; i < this.pageNumber; i++) {
// if (this.currentPage == i + 1) {
// buf.append("<font color=red>[" + (i + 1) + "]</font>").append(
// " ");
// } else {
// buf.append("<a href='").append(this.path).append(
// "¤tPage=").append(i + 1).append(parameter)
// .append("' style='TEXT-DECORATION:none'>").append(
// "[" + (i + 1) + "]").append("</a> ");
// }
// }
buf.append("<select class='input-xlarge' οnchange=\"javascript:window.location='").append(
this.path).append("¤tPage='+").append(
"this.options[this.selectedIndex].value").append(parameter)
.append("\">");
for (int i = 0; i < this.pageNumber; i++) {
if (this.currentPage == i + 1)
buf.append("<option value=" + (i + 1)
+ " selected=\"selected\">" + (i + 1) + "</option>");
else
buf.append("<option value=" + (i + 1) + ">" + (i + 1)
+ "</option>");
if(path.indexOf("/admin/login.jsp") > -1) {
chain.doFilter(request, response);
return;
}
if (session.getAttribute("admin") == null) {
session.invalidate();
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("<script language='javascript' type='text/javascript'>");
out.println("alert('由于你长时间没有操作,导致Session失效!请你重新登录!');parent.location.href='" + request.getContextPath() + "/admin/login.jsp'");
out.println("</script>");
} else {
chain.doFilter(request, response);
}
} else {
chain.doFilter(request, response);
}
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
public class SetChar extends HttpServlet implements Filter {
private FilterConfig filterConfig;
// Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
// Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
((HttpServletResponse) response).setHeader("Pragma", "No-cache");
((HttpServletResponse) response).setHeader("Cache-Control", "no-cache");
((HttpServletResponse) response).setHeader("Expires", "0");
//request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
request);
if (FileUpload.isMultipartContent(requestContext)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
title = ((FileItem) items.get(0)).getString();
title = Info.getUTFStr(title);
note = ((FileItem) items.get(2)).getString();
note = Info.getUTFStr(note);
FileItem fileItem = (FileItem) items.get(1);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
img = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/" + img);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
String sql = "insert into news (title,img,note,savetime,type) "
+ "values('" + title + "','" + img + "','" + note
+ "','" + Info.getDateStr() + "','新闻')";
dao.commOper(sql);
request.setAttribute("suc", "操作成功!");
go("/admin/newslist.jsp", request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/newsadd.jsp").forward(
request, response);
}
}
// 编辑新闻
if (ac.equals("newsedit")) {
note = ((FileItem) items.get(2)).getString();
note = Info.getUTFStr(note);
FileItem fileItem = (FileItem) items.get(1);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
img = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/" + img);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
String sql = "insert into news (title,img,note,savetime,type) "
+ "values('" + title + "','" + img + "','" + note
+ "','" + Info.getDateStr() + "','新闻')";
dao.commOper(sql);
request.setAttribute("suc", "操作成功!");
go("/admin/newslist.jsp", request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/newsadd.jsp").forward(
request, response);
}
}
// 编辑新闻
if (ac.equals("newsedit")) {
String id = request.getParameter("id");
HashMap map = dao.select("select * from news where id=" + id)
.get(0);
try {
String title = "";
String note = "";
String img = map.get("img").toString();
*/
public static String getDay(String date,int day) {
String b = date.substring(0,10);
String c = b.substring(0,4);
String d = b.substring(5,7);
String f = b.substring(8,10);
String aa = c+"/"+d+"/"+f;
String a = "";
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(new Date(aa));
grc.add(GregorianCalendar.DAY_OF_MONTH,day);
String resu = dateFormat.format(grc.getTime());
String t[]= resu.split("-");
String sesuu = "";
for(int i=0;i<t.length;i++)
{
if(t[i].length()==1)
{
t[i]="0"+t[i];
}
sesuu += t[i]+"-";
}
return sesuu.substring(0,10);
}
/**
* 计算两个时期之间的天数
*
*/
public static int dayToday(String DATE1, String DATE2) {
int i = 0;
DATE1 = DATE1.substring(0,DATE1.indexOf(" "));
DATE2 = DATE2.substring(0,DATE2.indexOf(" "));
String[] d1 = DATE1.split("-");
if(d1[1].length()==1)
{
DATE1 = d1[0]+"-0"+d1[1];
}else{
DATE1 = d1[0]+"-"+d1[1];
}
if(d1[2].length()==1)
{
DATE1 = DATE1+"-0"+d1[2];
}else{
/**
* 比较时间大小
*
*/
public static String compare_datezq(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
return "big";
} else if (dt1.getTime() < dt2.getTime()) {
return "small";
} else {
return "den";
}
} catch (Exception exception) {
exception.printStackTrace();
}
return "den";
}
/**
* 过滤html代码
*
*/
public static String filterStrIgnoreCase(String source, String from, String to){
String sourceLowcase=source.toLowerCase();
String sub1,sub2,subLowcase1,subLowcase2;
sub1=sub2=subLowcase1=subLowcase2="";
int start=0,end;
boolean done=true;
if(source==null) return null;
if(from==null||from.equals("")||to==null||to.equals(""))
return source;
while(done){
start=sourceLowcase.indexOf(from,start);
if(start==-1) {
break;
}
subLowcase1=sourceLowcase.substring(0,start);
sub1=source.substring(0,start);
end=sourceLowcase.indexOf(to,start);
if(end==-1){
e.printStackTrace();
}
return str;
}
public static String getGBKStr(String str) throws UnsupportedEncodingException{
if(str==null){
return "";
}
return new String(str.getBytes("ISO-8859-1"),"GBK");
}
public static String getGB2312Str(String str) throws UnsupportedEncodingException{
if(str==null){
return "";
}
return new String(str.getBytes("ISO-8859-1"),"gb2312");
}
/**
* @param String date
* @param int day
* @return
*/
public static String getDay(String date,int day) {
String b = date.substring(0,10);
String c = b.substring(0,4);
String d = b.substring(5,7);
String f = b.substring(8,10);
String aa = c+"/"+d+"/"+f;
String a = "";
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(new Date(aa));
grc.add(GregorianCalendar.DAY_OF_MONTH,day);
String resu = dateFormat.format(grc.getTime());
String t[]= resu.split("-");
String sesuu = "";
for(int i=0;i<t.length;i++)
{
if(t[i].length()==1)
{
t[i]="0"+t[i];
}
sesuu += t[i]+"-";
go("/index.jsp", request, response);
}
// 发布商品
if (ac.equals("goodsadd")) {
try {
String goodno = Info.getAutoNo();
String goodname = "";
String fid = "";
String sid = "";
String goodpp = "";
String price = "";
String filename = "";
String note = "";
String shstatus = "通过";
String istj = "no";
String savetime = Info.getDateStr();
String tprice = "";
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
if (FileUpload.isMultipartContent(requestContext)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
goodname = ((FileItem) items.get(0)).getString();
goodname = Info.getUTFStr(goodname);
fid = ((FileItem) items.get(1)).getString();
fid = Info.getUTFStr(fid);
sid = ((FileItem) items.get(2)).getString();
sid = Info.getUTFStr(sid);
goodpp = ((FileItem) items.get(3)).getString();
goodpp = Info.getUTFStr(goodpp);
price = ((FileItem) items.get(4)).getString();
price = Info.getUTFStr(price);
note = ((FileItem) items.get(6)).getString();
note = Info.getUTFStr(note);
FileItem fileItem = (FileItem) items.get(5);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
}
return new String(str.getBytes("ISO-8859-1"),"gb2312");
}
/**
* @param String date
* @param int day
* @return
*/
public static String getDay(String date,int day) {
String b = date.substring(0,10);
String c = b.substring(0,4);
String d = b.substring(5,7);
String f = b.substring(8,10);
String aa = c+"/"+d+"/"+f;
String a = "";
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(new Date(aa));
grc.add(GregorianCalendar.DAY_OF_MONTH,day);
String resu = dateFormat.format(grc.getTime());
String t[]= resu.split("-");
String sesuu = "";
for(int i=0;i<t.length;i++)
{
if(t[i].length()==1)
{
t[i]="0"+t[i];
}
sesuu += t[i]+"-";
}
return sesuu.substring(0,10);
}
/**
String img = map.get("filename").toString();
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
if (FileUpload.isMultipartContent(requestContext)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
FileItem fileItem = (FileItem) items.get(0);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
img = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/" + img);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
String sql = "update imgadv set filename='" + img
+ "' where id=" + id;
dao.commOper(sql);
request.setAttribute("suc", "");
go("/admin/imgadvedit.jsp?id=" + id, request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/imgadvedit.jsp?id=" + id)
.forward(request, response);
}
}
// 检查用户名唯一性AJAX 会员注册
if (ac.equals("memberunamecheck")) {
String uname = request.getParameter("username");
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
String sql = "insert into news (title,img,note,savetime,type) "
+ "values('" + title + "','" + img + "','" + note
+ "','" + Info.getDateStr() + "','新闻')";
dao.commOper(sql);
request.setAttribute("suc", "操作成功!");
go("/admin/newslist.jsp", request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/newsadd.jsp").forward(
request, response);
}
}
// 编辑新闻
if (ac.equals("newsedit")) {
String id = request.getParameter("id");
HashMap map = dao.select("select * from news where id=" + id)
.get(0);
try {
String title = "";
String note = "";
String img = map.get("img").toString();
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
if (FileUpload.isMultipartContent(requestContext)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
title = ((FileItem) items.get(0)).getString();
title = Info.getUTFStr(title);
note = ((FileItem) items.get(2)).getString();
note = Info.getUTFStr(note);
.getParameter("tel");
dao.commOper("update member set upass='" + upass + "',email='"
+ email + "',tname='" + tname + "',sex='" + sex
+ "',addr='" + addr + "',ybcode='" + ybcode + "',qq='" + qq
+ "',tel='" + tel + "' where id=" + id);
request.setAttribute("suc", "会员信息修改成功!");
go("/grinfo.jsp", request, response);
}
// 会员登录
if (ac.equals("frontlogin")) {
String uname = request.getParameter("uname");
String upass = request.getParameter("upass");
ArrayList cklist = (ArrayList) dao
.select("select * from member where uname='" + uname
+ "' and upass='" + upass + "' and delstatus='0'");
if (cklist.size() > 0) {
session.setAttribute("member", cklist.get(0));
go("/index.jsp", request, response);
} else {
request.setAttribute("no", "用户名或密码错误!");
go("/login.jsp", request, response);
}
}
// 前台退出
if (ac.equals("frontexit")) {
session.removeAttribute("member");
go("/index.jsp", request, response);
}
// 发布商品
if (ac.equals("goodsadd")) {
try {
String goodno = Info.getAutoNo();
String goodname = "";
String fid = "";
String sid = "";
String goodpp = "";
String price = "";
String filename = "";
String note = "";
String shstatus = "通过";
String istj = "no";
String savetime = Info.getDateStr();
String tprice = "";
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
dao.commOper("insert into ddinfo (ddno,memberid,ddprice,fhstatus,savetime,shstatus,wlinfo,fkstatus,shrname,shrtel,shraddr) values "
+ "('"
+ ddno
+ "','"
+ memberid
+ "','"
+ ddprice
+ "','"
+ fhstatus
+ "','"
+ savetime
+ "','"
+ shstatus
+ "','"
+ wlinfo
+ "','"
+ fkstatus
+ "','"
+ shrname + "','" + shrtel + "','" + shraddr + "')");
dao.commOper("insert into dddetail (ddno,goodid,sl) values ('"
+ ddno + "','" + gid + "','" + sl + "') ");
out.print("true");
}
} else {
out.print("false");
}
// request.setAttribute("suc", "");
// go("/tocar.jsp?gid="+gid, request, response);
}
// 购物车内商品数量修改
if (ac.equals("updatecart")) {
String id = request.getParameter("carid");
int sl = Integer.valueOf(request.getParameter("sl"));
dao.commOper("update car set sl=" + sl + " where id=" + id);
out.print("true");
}
// 购物车内商品总价
if (ac.equals("updatetprice")) {
ArrayList<HashMap> goodlist = (ArrayList<HashMap>) dao
.select("select *,a.id as aid,b.id as bid from car a,goods b where a.gid=b.id and a.mid='"
+ member.get("id")
+ "' and b.delstatus='0' order by a.id desc");
double totalprice = 0.0;
for (HashMap carmap : goodlist) {
if (carmap.get("tprice") != null
&& !carmap.get("tprice").equals("")) {