基于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()+"&&");

请添加图片描述
请添加图片描述
请添加图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐