基于javaweb和mysql的ssh水果销售系统(java+ssh+mysql+tomcat+jsp)
·
基于javaweb和mysql的ssh水果销售系统(java+ssh+mysql+tomcat+jsp)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSH水果销售系统(java+ssh+mysql+tomcat+jsp)
一、项目简述
功能: 区分为管理员用户和普通用户,普通用户:用户注册登 录,首页水果展示,商品分类展示,购物车添加,下单, 订单查询,个人信息修改,管理员用户:包括水果基本信 息维护增删改查,分类管理,订单管理,用户管理等等功 能。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + Mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP + Struts + Spring + Hibernate + html + css + JavaScript + JQuery等等。
List goodsListpaihang=new ArrayList();
sql="select sum(goodsShuliang),goodsId from TMingxi group by goodsId order by sum(goodsShuliang) desc";
List list=mingxiDAO.getHibernateTemplate().find(sql);
for(int i=0;i<list.size();i++)
{
Object[] b=(Object[])list.get(i);
int goodsId=Integer.parseInt(b[1].toString());
TGoods goods=goodsDAO.findById(goodsId);
goodsListpaihang.add(goods);
}
if(goodsList.size()>4)
{
goodsList=goodsList.subList(0, 4);
}
request.put("goodsListpaihang", goodsListpaihang);
return ActionSupport.SUCCESS;
}
public String goodsDetailQian()
{
TGoods goods=goodsDAO.findById(id);
Map request=(Map)ServletActionContext.getContext().get("request");
contentList=FunctionDAOImpl.findContentList("pingjia",id);
request.put("goods", goods);
return ActionSupport.SUCCESS;
}
public String goodspingjia()
{
HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
THuiyuan huiyuan=(THuiyuan)session.getAttribute("huiyuan");
public void setJiage(Integer jiage)
{
this.jiage = jiage;
}
public Integer getTejia()
{
return tejia;
}
public void setTejia(Integer tejia)
{
this.tejia = tejia;
}
public String getShifoutejia()
{
return shifoutejia;
}
public void setShifoutejia(String shifoutejia)
{
this.shifoutejia = shifoutejia;
}
public String getDel()
{
return del;
}
public void setDel(String del)
{
this.del = del;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public String getPath()
{
return path;
}
public void setPath(String path)
{
this.path = path;
}
public String getPingFlag() {
return pingFlag;
}
public void setPingFlag(String pingFlag) {
this.pingFlag = pingFlag;
}
}
else:
errorNo = 110
else:
errorNo = 102
return self.sendErrorNode ( errorNo, errorMsg )
def createServerFolder(self, folderPath):
"Purpose: physically creates a folder on the server"
# No need to check if the parent exists, just create all hierachy
try:
permissions = Config.ChmodOnFolderCreate
if not permissions:
os.makedirs(folderPath)
except AttributeError: #ChmodOnFolderCreate undefined
permissions = 0755
if permissions:
oldumask = os.umask(0)
os.makedirs(folderPath,mode=0755)
os.umask( oldumask )
class UploadFileCommandMixin (object):
def uploadFile(self, resourceType, currentFolder):
"""
Purpose: command to upload files to server (same as FileUpload)
"""
errorNo = 0
if self.request.has_key("NewFile"):
# newFile has all the contents we need
newFile = self.request.get("NewFile", "")
# Get the file name
newFileName = newFile.filename
newFileName = sanitizeFileName( newFileName )
newFileNameOnly = removeExtension(newFileName)
newFileExtension = getExtension(newFileName).lower()
allowedExtensions = Config.AllowedExtensions[resourceType]
deniedExtensions = Config.DeniedExtensions[resourceType]
if (allowedExtensions):
TMingxi mingxi=(TMingxi)mingxiList.get(i);
mingxi.setGoods(goodsDAO.findById(mingxi.getGoodsId()));
}
request.setAttribute("mingxiList", mingxiList);
return ActionSupport.SUCCESS;
}
public String userping()
{
HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
Cart cart = (Cart)session.getAttribute("cart");
THuiyuan huiyuan=(THuiyuan)session.getAttribute("huiyuan");
TContent content= new TContent();
content.setGoodsId(request.getParameter("goodsId"));
content.setAddTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
content.setHuiyuanId(huiyuan.getLoginname());
content.setContent(request.getParameter("userFlag"));
FunctionDAOImpl.insertUserPingjia(content);
Map request1=(Map)ServletActionContext.getContext().get("request");
request1.put("msg", "商品评价完成");
return "msg";
}
public TGoodsDAO getGoodsDAO()
{
return goodsDAO;
}
public TMingxiDAO getMingxiDAO()
{
return mingxiDAO;
}
public void setMingxiDAO(TMingxiDAO mingxiDAO)
{
this.mingxiDAO = mingxiDAO;
}
public void setGoodsDAO(TGoodsDAO goodsDAO)
{
this.goodsDAO = goodsDAO;
public String pingjia()
{
HttpServletRequest request=ServletActionContext.getRequest();
int orderId=Integer.parseInt(request.getParameter("orderId"));
String sql="from TMingxi where orderId="+orderId;
List mingxiList=mingxiDAO.getHibernateTemplate().find(sql);
for(int i=0;i<mingxiList.size();i++)
{
TMingxi mingxi=(TMingxi)mingxiList.get(i);
mingxi.setGoods(goodsDAO.findById(mingxi.getGoodsId()));
}
request.setAttribute("mingxiList", mingxiList);
return ActionSupport.SUCCESS;
}
public String userping()
{
HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
Cart cart = (Cart)session.getAttribute("cart");
THuiyuan huiyuan=(THuiyuan)session.getAttribute("huiyuan");
TContent content= new TContent();
content.setGoodsId(request.getParameter("goodsId"));
content.setAddTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
content.setHuiyuanId(huiyuan.getLoginname());
content.setContent(request.getParameter("userFlag"));
FunctionDAOImpl.insertUserPingjia(content);
Map request1=(Map)ServletActionContext.getContext().get("request");
request1.put("msg", "商品评价完成");
return "msg";
}
public TGoodsDAO getGoodsDAO()
{
return goodsDAO;
}
public TMingxiDAO getMingxiDAO()
{
return mingxiDAO;
}
def getZopeUploadContext(self):
if self.zopeUploadContext is None:
folderNames = self.userFilesFolder.split("/")
c = self.getZopeRootContext()
for folderName in folderNames:
if (folderName <> ""):
c = c[folderName]
self.zopeUploadContext = c
return self.zopeUploadContext
def setHeader(self, key, value):
self.context.REQUEST.RESPONSE.setHeader(key, value)
def getFolders(self, resourceType, currentFolder):
# Open the folders node
s = ""
s += """<Folders>"""
zopeFolder = self.findZopeFolder(resourceType, currentFolder)
for (name, o) in zopeFolder.objectItems(["Folder"]):
s += """<Folder name="%s" />""" % (
convertToXmlAttribute(name)
)
# Close the folders node
s += """</Folders>"""
return s
def getZopeFoldersAndFiles(self, resourceType, currentFolder):
folders = self.getZopeFolders(resourceType, currentFolder)
files = self.getZopeFiles(resourceType, currentFolder)
s = folders + files
return s
def getZopeFiles(self, resourceType, currentFolder):
# Open the files node
s = ""
s += """<Files>"""
zopeFolder = self.findZopeFolder(resourceType, currentFolder)
for (name, o) in zopeFolder.objectItems(["File","Image"]):
s += """<File name="%s" size="%s" />""" % (
convertToXmlAttribute(name),
((o.get_size() / 1024) + 1)
)
# Close the files node
s += """</Files>"""
return s
def findZopeFolder(self, resourceType, folderName):
# returns the context of the resource / folder
zopeFolder = self.getZopeUploadContext()
folderName = self.removeFromStart(folderName, "/")
folderName = self.removeFromEnd(folderName, "/")
if (resourceType <> ""):
try:
"""
# Allow access (Zope)
__allow_access_to_unprotected_subobjects__ = 1
def __init__(self, context=None):
"""
Constructor
"""
FCKeditorConnector.__init__(self, environ=None) # call superclass constructor
# Instance Attributes
self.context = context
self.request = FCKeditorRequest(context)
def getZopeRootContext(self):
if self.zopeRootContext is None:
self.zopeRootContext = self.context.getPhysicalRoot()
return self.zopeRootContext
def getZopeUploadContext(self):
if self.zopeUploadContext is None:
folderNames = self.userFilesFolder.split("/")
c = self.getZopeRootContext()
for folderName in folderNames:
if (folderName <> ""):
c = c[folderName]
self.zopeUploadContext = c
return self.zopeUploadContext
def setHeader(self, key, value):
self.context.REQUEST.RESPONSE.setHeader(key, value)
def getFolders(self, resourceType, currentFolder):
# Open the folders node
s = ""
s += """<Folders>"""
zopeFolder = self.findZopeFolder(resourceType, currentFolder)
for (name, o) in zopeFolder.objectItems(["Folder"]):
s += """<Folder name="%s" />""" % (
convertToXmlAttribute(name)
)
# Close the folders node
public class goodsAction extends ActionSupport
{
private Integer id;
private Integer leibieId;
private String mingcheng;
private String jieshao;
private String fujian;
private Integer jiage;
private Integer tejia;
private String shifoutejia;
private String del;
private TGoodsDAO goodsDAO;
private List<TContent> contentList;
private TMingxiDAO mingxiDAO;
public String goodsAdd()
{
TGoods goods=new TGoods();
//goods.setId(id);
goods.setLeibieId(leibieId);
goods.setMingcheng(mingcheng);
goods.setJieshao(jieshao);
goods.setFujian(fujian);
goods.setJiage(jiage);
goods.setTejia(jiage);
goods.setShifoutejia("no");
goods.setDel("no");
goodsDAO.save(goods);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("msg", "信息添加成功");
)
s += """</Folders>""" # Close the folders node
return s
class GetFoldersAndFilesCommandMixin (object):
def getFoldersAndFiles(self, resourceType, currentFolder):
"""
Purpose: command to recieve a list of folders and files
"""
# Map the virtual path to our local server
serverPath = mapServerFolder(self.userFilesFolder,currentFolder)
# Open the folders / files node
folders = """<Folders>"""
files = """<Files>"""
for someObject in os.listdir(serverPath):
someObjectPath = mapServerFolder(serverPath, someObject)
if os.path.isdir(someObjectPath):
folders += """<Folder name="%s" />""" % (
convertToXmlAttribute(someObject)
)
elif os.path.isfile(someObjectPath):
size = os.path.getsize(someObjectPath)
files += """<File name="%s" size="%s" />""" % (
convertToXmlAttribute(someObject),
os.path.getsize(someObjectPath)
)
# Close the folders / files node
folders += """</Folders>"""
files += """</Files>"""
return folders + files
class CreateFolderCommandMixin (object):
def createFolder(self, resourceType, currentFolder):
"""
Purpose: command to create a new folder
"""
errorNo = 0; errorMsg ='';
if self.request.has_key("NewFolderName"):
newFolder = self.request.get("NewFolderName", None)
newFolder = sanitizeFolderName (newFolder)
try:
newFolderPath = mapServerFolder(self.userFilesFolder, combinePaths(currentFolder, newFolder))
self.createServerFolder(newFolderPath)
except Exception, e:
errorMsg = str(e).decode('iso-8859-1').encode('utf-8') # warning with encodigns!!!
if hasattr(e,'errno'):
if e.errno==17: #file already exists
errorNo=0
elif e.errno==13: # permission denied
public void setMingxiDAO(TMingxiDAO mingxiDAO)
{
this.mingxiDAO = mingxiDAO;
}
public void setGoodsDAO(TGoodsDAO goodsDAO)
{
this.goodsDAO = goodsDAO;
}
public TOrderDAO getOrderDAO()
{
return orderDAO;
}
public void setOrderDAO(TOrderDAO orderDAO)
{
this.orderDAO = orderDAO;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public String getPath()
{
size = os.path.getsize(someObjectPath)
files += """<File name="%s" size="%s" />""" % (
convertToXmlAttribute(someObject),
os.path.getsize(someObjectPath)
)
# Close the folders / files node
folders += """</Folders>"""
files += """</Files>"""
return folders + files
class CreateFolderCommandMixin (object):
def createFolder(self, resourceType, currentFolder):
"""
Purpose: command to create a new folder
"""
errorNo = 0; errorMsg ='';
if self.request.has_key("NewFolderName"):
newFolder = self.request.get("NewFolderName", None)
newFolder = sanitizeFolderName (newFolder)
try:
newFolderPath = mapServerFolder(self.userFilesFolder, combinePaths(currentFolder, newFolder))
self.createServerFolder(newFolderPath)
except Exception, e:
errorMsg = str(e).decode('iso-8859-1').encode('utf-8') # warning with encodigns!!!
if hasattr(e,'errno'):
if e.errno==17: #file already exists
errorNo=0
elif e.errno==13: # permission denied
errorNo = 103
elif e.errno==36 or e.errno==2 or e.errno==22: # filename too long / no such file / invalid name
errorNo = 102
else:
errorNo = 110
else:
errorNo = 102
return self.sendErrorNode ( errorNo, errorMsg )
def createServerFolder(self, folderPath):
"Purpose: physically creates a folder on the server"
# No need to check if the parent exists, just create all hierachy
try:
permissions = Config.ChmodOnFolderCreate
public class huiyuanAction extends ActionSupport
{
private Integer id;
private String loginname;
private String loginpw;
private String xingming;
private String xingbie;
private String nianling;
private String address;
private String dianhua;
private Integer yue;
private String del;
private String message;
private String path;
private THuiyuanDAO huiyuanDAO;
public SweetnessDAO sweetnessDAO;
public String huiyuanReg()
{
HttpServletRequest request=ServletActionContext.getRequest();
String sql="from THuiyuan where loginname=?";
Object[] c={loginname.trim()};
List huiyuanList=huiyuanDAO.getHibernateTemplate().find(sql,c);
if(huiyuanList.size()>0)
{
this.setMessage("账号已被占用,请重新注册");
this.setPath("site/userreg/userreg.jsp");
}
else
{
public void setShifoutejia(String shifoutejia)
{
this.shifoutejia = shifoutejia;
}
public String getDel()
{
return del;
}
public void setDel(String del)
{
this.del = del;
}
public TGoodsDAO getGoodsDAO()
{
return goodsDAO;
}
public void setGoodsDAO(TGoodsDAO goodsDAO)
{
this.goodsDAO = goodsDAO;
}
public List<TContent> getContentList() {
return contentList;
}
public void setContentList(List<TContent> contentList) {
this.contentList = contentList;
}
public TMingxiDAO getMingxiDAO() {
return mingxiDAO;
request.put("goodsList", goodsList);
System.out.println(goodsList.size()+"&&");
return ActionSupport.SUCCESS;
}
public Integer getLeibieId()
{
return leibieId;
}
public void setLeibieId(Integer leibieId)
{
this.leibieId = leibieId;
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public String getMingcheng()
{
return mingcheng;
}
public void setMingcheng(String mingcheng)
{
this.mingcheng = mingcheng;
}
s = """<Folders>""" # Open the folders node
for someObject in os.listdir(serverPath):
someObjectPath = mapServerFolder(serverPath, someObject)
if os.path.isdir(someObjectPath):
s += """<Folder name="%s" />""" % (
convertToXmlAttribute(someObject)
)
s += """</Folders>""" # Close the folders node
return s
class GetFoldersAndFilesCommandMixin (object):
def getFoldersAndFiles(self, resourceType, currentFolder):
"""
Purpose: command to recieve a list of folders and files
"""
# Map the virtual path to our local server
serverPath = mapServerFolder(self.userFilesFolder,currentFolder)
# Open the folders / files node
folders = """<Folders>"""
files = """<Files>"""
for someObject in os.listdir(serverPath):
someObjectPath = mapServerFolder(serverPath, someObject)
if os.path.isdir(someObjectPath):
folders += """<Folder name="%s" />""" % (
convertToXmlAttribute(someObject)
)
elif os.path.isfile(someObjectPath):
size = os.path.getsize(someObjectPath)
files += """<File name="%s" size="%s" />""" % (
convertToXmlAttribute(someObject),
os.path.getsize(someObjectPath)
)
# Close the folders / files node
folders += """</Folders>"""
files += """</Files>"""
return folders + files
class CreateFolderCommandMixin (object):
def createFolder(self, resourceType, currentFolder):
"""
Purpose: command to create a new folder
"""
errorNo = 0; errorMsg ='';
if self.request.has_key("NewFolderName"):
newFolder = self.request.get("NewFolderName", None)
newFolder = sanitizeFolderName (newFolder)
try:
newFolderPath = mapServerFolder(self.userFilesFolder, combinePaths(currentFolder, newFolder))
self.createServerFolder(newFolderPath)
except Exception, e:
errorMsg = str(e).decode('iso-8859-1').encode('utf-8') # warning with encodigns!!!
if hasattr(e,'errno'):
if e.errno==17: #file already exists
errorNo=0
huiyuan.setYue(0);
huiyuan.setDel("no");
huiyuanDAO.save(huiyuan);
this.setMessage("注册成功,请登录");
this.setPath("site/userreg/userreg.jsp");
}
return "succeed";
}
public String huiyuanMana()
{
String sql="from THuiyuan where del='no'";
List huiyuanList=huiyuanDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("huiyuanList", huiyuanList);
return ActionSupport.SUCCESS;
}
public String huiyuanDel()
{
THuiyuan huiyuan=huiyuanDAO.findById(id);
huiyuan.setDel("yes");
huiyuanDAO.attachDirty(huiyuan);
this.setMessage("删除成功");
this.setPath("huiyuanMana.action");
return "succeed";
}
public String sweetnessReg()
{
HttpServletRequest request=ServletActionContext.getRequest();
String name=request.getParameter("name");
String degree=request.getParameter("degree");
String sql = "select * from t_sweetness where name=?";
Connection conn = JdbcUtils.connSQL();
Sweetness s = null;
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
s = new Sweetness();
public String goodsDetailQian()
{
TGoods goods=goodsDAO.findById(id);
Map request=(Map)ServletActionContext.getContext().get("request");
contentList=FunctionDAOImpl.findContentList("pingjia",id);
request.put("goods", goods);
return ActionSupport.SUCCESS;
}
public String goodspingjia()
{
HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
THuiyuan huiyuan=(THuiyuan)session.getAttribute("huiyuan");
TContent content= new TContent();
content.setGoodsId(request.getParameter("id"));
content.setAddTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
content.setHuiyuanId(huiyuan.getLoginname());
content.setContent(request.getParameter("content"));
FunctionDAOImpl.insertUserPingjia(content);
Map request1=(Map)ServletActionContext.getContext().get("request");
request1.put("msg", "商品评价完成");
return "msg";
}
public String goodsByLeibie()
{
String sql="from TGoods where del='no' and leibieId=?";
Object[] con={leibieId};
Map request=(Map)ServletActionContext.getContext().get("request");
List goodsList=goodsDAO.getHibernateTemplate().find(sql,con);
request.put("goodsList", goodsList);
System.out.println(goodsList.size()+"&&");



更多推荐


所有评论(0)