基于javaweb+mysql的springboot超市订单管理(java+ssm+jsp+jquery+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot超市订单管理(java+ssm+jsp+jquery+mysql)
ssm超市订单管理系统
项目介绍
该超市订单管理毕业设计基于jdk8版本开发,在部署时需要使用jdk8以上的版本。使用了目前流行的框架组合spring+springMVC+mybatis的框架技术, 实现了供应商管理对供应商实现增删改查、订单管理对超市订单实现增删改查、用户管理等功能,适用于小型超市的使用,通过学习该超市订单管理,对于SSM框架的组合能够有更深层次的理解。
环境需要
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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;
技术栈
- 后端:Spring SpringMVC MyBatis 2. 前端:JSP+jQuery
使用说明
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;
-
使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
- 运行成功后,访问http://localhost:8080/supermarket/login.htm到登录页面
@Controller
public class LoginServlet{
@Autowired
UserServiceImpl userService;
@Autowired
RoleServiceImpl roleService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
BillServiceImpl billService;
@RequestMapping(value="/login.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response, Model model){
System.out.println("login ============ " );
//获取用户名和密码
String userCode = request.getParameter("userCode");
String userPassword = request.getParameter("userPassword");
System.out.println(userCode+" "+userPassword);
//调用service方法,进行用户匹配
User user = userService.login(userCode,userPassword);
System.out.println(user);
if(null != user){//登录成功
//放入session
request.getSession().setAttribute(Constants.USER_SESSION, user);
//页面跳转(frame.jsp)
return "frame";
}else{
//页面跳转(login.jsp)带出提示信息--转发
model.addAttribute("error", "用户名或密码不正确");
return "login";
//.forward(request, response);
}
}
}
}
@Controller
public class BillServlet{
@Autowired
BillServiceImpl billService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
UserServiceImpl userService;
@RequestMapping(value="/bill.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response, @RequestParam(value="method",required = false) String method)
throws ServletException, IOException {
System.out.println("=================== "+method);
if(method != null && method.equals("query")){
return this.query(request,response);
}else if(method != null && method.equals("add")){
return this.add(request,response);
private String getProviderById(HttpServletRequest request, HttpServletResponse response, String url)
throws ServletException, IOException {
String id = request.getParameter("proid");
System.out.println("-------------"+id);
if(!StringUtils.isNullOrEmpty(id)){
Provider provider = null;
provider = providerService.getProviderById(id);
request.setAttribute("provider", provider);
System.out.println("-------------"+id);
return url;
// request.getRequestDispatcher(url).forward(request, response);
}
return "error";
}
private String add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String proCode = request.getParameter("proCode");
String proName = request.getParameter("proName");
String proContact = request.getParameter("proContact");
String proPhone = request.getParameter("proPhone");
String proAddress = request.getParameter("proAddress");
String proFax = request.getParameter("proFax");
String proDesc = request.getParameter("proDesc");
Provider provider = new Provider();
provider.setProCode(proCode);
provider.setProName(proName);
provider.setProContact(proContact);
provider.setProPhone(proPhone);
provider.setProFax(proFax);
provider.setProAddress(proAddress);
provider.setProDesc(proDesc);
provider.setCreatedBy(((User)request.getSession().getAttribute(Constants.USER_SESSION)).getId());
provider.setCreationDate(new Date());
boolean flag = false;
flag = providerService.add(provider);
if(flag){
return "redirect:/provider.do?method=query";
// response.sendRedirect(request.getContextPath()+"/jsp/provider.do?method=query");
}else{
return "provideradd";
@Controller
public class UserServlet{
@Autowired
BillServiceImpl billService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
UserServiceImpl userService;
@Autowired
RoleServiceImpl roleService;
@RequestMapping(value="/user.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpSession session, @Valid User user, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, @RequestParam(value="method",required = false) String method, Model model)
throws ServletException, IOException {
System.out.println("--------------->"+method);
if(method != null && method.equals("add")){
return this.add(request, response,user,bindingResult,session);
}else if(method != null && method.equals("query")){
return this.query(request, response);
}else if(method != null && method.equals("getrolelist")){
this.getRoleList(request, response);
}else if(method != null && method.equals("ucexist")){
this.userCodeExist(request, response);
}else if(method != null && method.equals("deluser")){
this.delUser(request, response);
}else if(method != null && method.equals("view")){
String phone = request.getParameter("phone");
String address = request.getParameter("address");
String userRole = request.getParameter("userRole");
User user = new User();
user.setId(Integer.valueOf(id));
user.setUserName(userName);
user.setGender(Integer.valueOf(gender));
try {
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(birthday));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
user.setPhone(phone);
user.setAddress(address);
user.setUserRole(Integer.valueOf(userRole));
user.setModifyBy(((User)request.getSession().getAttribute(Constants.USER_SESSION)).getId());
user.setModifyDate(new Date());
if(userService.modify(user)){
return "redirect:/user.do?method=query";
// response.sendRedirect(request.getContextPath()+"/jsp/user.do?method=query");
}else{
return "usermodify";
// request.getRequestDispatcher("usermodify.jsp").forward(request, response);
}
}
private String getUserById(HttpServletRequest request, HttpServletResponse response, String url, Model model)
throws ServletException, IOException {
String id = request.getParameter("uid");
if(!StringUtils.isNullOrEmpty(id)){
//调用后台方法得到user对象
User user = userService.getUserById(id);
System.out.println("------------> "+user);
model.addAttribute("user", user);
return url;
if(null == o ){//session过期
resultMap.put("result", "sessionerror");
}else if(StringUtils.isNullOrEmpty(oldpassword)){//旧密码输入为空
resultMap.put("result", "error");
}else{
String sessionPwd = ((User)o).getUserPassword();
if(oldpassword.equals(sessionPwd)){
resultMap.put("result", "true");
}else{//旧密码输入不正确
resultMap.put("result", "false");
}
}
// response.setContentType("application/json");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(resultMap));
outPrintWriter.flush();
outPrintWriter.close();
}
private String modify(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("uid");
String userName = request.getParameter("userName");
String gender = request.getParameter("gender");
String birthday = request.getParameter("birthday");
String phone = request.getParameter("phone");
String address = request.getParameter("address");
String userRole = request.getParameter("userRole");
User user = new User();
user.setId(Integer.valueOf(id));
user.setUserName(userName);
user.setGender(Integer.valueOf(gender));
try {
user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(birthday));
} catch (ParseException e) {
// TODO Auto-generated catch block
bill.setModifyBy(((User)request.getSession().getAttribute(Constants.USER_SESSION)).getId());
bill.setModifyDate(new Date());
boolean flag = false;
flag = billService.modify(bill);
if(flag){
return "redirect:/bill.do?method=query";
// response.sendRedirect(request.getContextPath()+"/jsp/bill.do?method=query");
}else{
return "billmodify";
// request.getRequestDispatcher("billmodify.jsp").forward(request, response);
}
}
private void delBill(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("billid");
HashMap<String, String> resultMap = new HashMap<String, String>();
if(!StringUtils.isNullOrEmpty(id)){
boolean flag = billService.deleteBillById(id);
if(flag){//删除成功
resultMap.put("delResult", "true");
}else{//删除失败
resultMap.put("delResult", "false");
}
}else{
resultMap.put("delResult", "notexit");
}
//把resultMap转换成json对象输出
// response.setContentType("application/json");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(resultMap));
outPrintWriter.flush();
outPrintWriter.close();
}
private String add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String billCode = request.getParameter("billCode");
String productName = request.getParameter("productName");
String productDesc = request.getParameter("productDesc");
String productUnit = request.getParameter("productUnit");
String productCount = request.getParameter("productCount");
String totalPrice = request.getParameter("totalPrice");
String providerId = request.getParameter("providerId");
String isPayment = request.getParameter("isPayment");
Bill bill = new Bill();
bill.setBillCode(billCode);
bill.setProductName(productName);
bill.setProductDesc(productDesc);
}
private String getBillById(HttpServletRequest request, HttpServletResponse response, String url)
throws ServletException, IOException {
String id = request.getParameter("billid");
if(!StringUtils.isNullOrEmpty(id)){
Bill bill = null;
bill = billService.getBillById(id);
System.out.println("bill================> "+bill);
request.setAttribute("bill", bill);
return url;
// request.getRequestDispatcher(url).forward(request, response);
}
return "error";
}
private String modify(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("modify===============");
String id = request.getParameter("id");
String productName = request.getParameter("productName");
String productDesc = request.getParameter("productDesc");
String productUnit = request.getParameter("productUnit");
String productCount = request.getParameter("productCount");
String totalPrice = request.getParameter("totalPrice");
String providerId = request.getParameter("providerId");
String isPayment = request.getParameter("isPayment");
Bill bill = new Bill();
bill.setId(Integer.valueOf(id));
bill.setProductName(productName);
bill.setProductDesc(productDesc);
bill.setProductUnit(productUnit);
bill.setProductCount(new BigDecimal(productCount).setScale(2,BigDecimal.ROUND_DOWN));
bill.setIsPayment(Integer.parseInt(isPayment));
bill.setTotalPrice(new BigDecimal(totalPrice).setScale(2,BigDecimal.ROUND_DOWN));
bill.setProviderId(Integer.parseInt(providerId));
bill.setModifyBy(((User)request.getSession().getAttribute(Constants.USER_SESSION)).getId());
bill.setModifyDate(new Date());
boolean flag = false;
flag = billService.modify(bill);
if(flag){
return "redirect:/bill.do?method=query";
PageSupport pages=new PageSupport();
pages.setCurrentPageNo(currentPageNo);
pages.setPageSize(pageSize);
pages.setTotalCount(totalCount);
int totalPageCount = pages.getTotalPageCount();
//控制首页和尾页
if(currentPageNo < 1){
currentPageNo = 1;
}else if(currentPageNo > totalPageCount){
currentPageNo = totalPageCount;
}
userList = userService.getUserList(queryUserName,queryUserRole,currentPageNo, pageSize);
System.out.println("----------> "+userList.get(0).getAge());
request.setAttribute("userList", userList);
List<Role> roleList = null;
System.out.println(userList.get(0).getRole().getRoleName());
roleList = roleService.getRoleList();
System.out.println("===== "+roleList.get(0).getRoleCode()+"--------roleList:"+roleList.get(0).getRoleName());
request.setAttribute("roleList", roleList);
request.setAttribute("queryUserName", queryUserName);
request.setAttribute("queryUserRole", queryUserRole);
request.setAttribute("totalPageCount", totalPageCount);
request.setAttribute("totalCount", totalCount);
request.setAttribute("currentPageNo", currentPageNo);
return "userlist";
}
private String add(HttpServletRequest request, HttpServletResponse response, User user, BindingResult bindingResult, HttpSession session)
throws ServletException, IOException {
if(bindingResult.hasErrors()){
System.out.println("输入错误");
return "useradd";
}System.out.println("111");
user.setCreatedBy(((User)session.getAttribute(Constants.USER_SESSION)).getId());System.out.println("222");
user.setCreationDate(new Date());System.out.println("333");
if(userService.add(user)){return "redirect:/user.do?method=query";}System.out.println("444");
return "useradd";
}
}
@RequestMapping(value="/login.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response, Model model){
System.out.println("login ============ " );
//获取用户名和密码
String userCode = request.getParameter("userCode");
String userPassword = request.getParameter("userPassword");
System.out.println(userCode+" "+userPassword);
//调用service方法,进行用户匹配
User user = userService.login(userCode,userPassword);
System.out.println(user);
if(null != user){//登录成功
//放入session
request.getSession().setAttribute(Constants.USER_SESSION, user);
//页面跳转(frame.jsp)
return "frame";
}else{
//页面跳转(login.jsp)带出提示信息--转发
model.addAttribute("error", "用户名或密码不正确");
return "login";
//.forward(request, response);
}
}
}
public class SysFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
// System.out.println("TestFilter init()===========");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
}
@Controller
public class LogoutServlet{
@Autowired
UserServiceImpl userService;
@Autowired
RoleServiceImpl roleService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
BillServiceImpl billService;
@RequestMapping(value="/logout.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response)
{
//清除session
request.getSession().removeAttribute(Constants.USER_SESSION);
return "/login";
}
}
return "redirect:/bill.do?method=query";
// response.sendRedirect(request.getContextPath()+"/jsp/bill.do?method=query");
}else{
return "billadd";
// request.getRequestDispatcher("billadd.jsp").forward(request, response);
}
}
private String query(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("=======================");
List<Provider> providerList = new ArrayList<Provider>();
providerList = providerService.getProviderList("","");
request.setAttribute("providerList", providerList);
String queryProductName = request.getParameter("queryProductName");
String queryProviderId = request.getParameter("queryProviderId");
String queryIsPayment = request.getParameter("queryIsPayment");
if(StringUtils.isNullOrEmpty(queryProductName)){
queryProductName = "";
}
List<Bill> billList = new ArrayList<Bill>();
Bill bill = new Bill();
if(StringUtils.isNullOrEmpty(queryIsPayment)){
bill.setIsPayment(0);
}else{
bill.setIsPayment(Integer.parseInt(queryIsPayment));
}
if(StringUtils.isNullOrEmpty(queryProviderId)){
bill.setProviderId(0);
}else{
bill.setProviderId(Integer.parseInt(queryProviderId));
}
bill.setProductName(queryProductName);
billList = billService.getBillList(bill);
System.out.println("=------------------"+billList);
request.setAttribute("billList", billList);
request.setAttribute("queryProductName", queryProductName);
request.setAttribute("queryProviderId", queryProviderId);
request.setAttribute("queryIsPayment", queryIsPayment);
return "billlist";
}else if(method != null && method.equals("modifysave")){
return this.modify(request,response);
}else if(method != null && method.equals("delbill")){
this.delBill(request,response);
}else if(method != null && method.equals("getproviderlist")){
this.getProviderlist(request,response);
}
return "error";
}
private void getProviderlist(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("getproviderlist ========================= ");
List<Provider> providerList = new ArrayList<Provider>();
providerList = providerService.getProviderList("","");
System.out.println("getProName--------------"+providerList.get(0).getProName());
//把providerList转换成json对象输出
// response.setContentType("application/json");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(providerList));
outPrintWriter.flush();
outPrintWriter.close();
}
private String getBillById(HttpServletRequest request, HttpServletResponse response, String url)
throws ServletException, IOException {
String id = request.getParameter("billid");
if(!StringUtils.isNullOrEmpty(id)){
Bill bill = null;
bill = billService.getBillById(id);
System.out.println("bill================> "+bill);
request.setAttribute("bill", bill);
return url;
// request.getRequestDispatcher(url).forward(request, response);
}
return "error";
}
private String modify(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("modify===============");
String id = request.getParameter("id");
String productName = request.getParameter("productName");
String productDesc = request.getParameter("productDesc");
String productUnit = request.getParameter("productUnit");
// TODO: handle exception
delId = 0;
}
HashMap<String, String> resultMap = new HashMap<String, String>();
if(delId <= 0){
resultMap.put("delResult", "notexist");
}else{
if(userService.deleteUserById(delId)){
resultMap.put("delResult", "true");
}else{
resultMap.put("delResult", "false");
}
}
//把resultMap转换成json对象输出
// response.setContentType("application/json");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter outPrintWriter = response.getWriter();
outPrintWriter.write(JSONArray.toJSONString(resultMap));
outPrintWriter.flush();
outPrintWriter.close();
}
private void userCodeExist(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//判断用户账号是否可用
String userCode = request.getParameter("userCode");
HashMap<String, String> resultMap = new HashMap<String, String>();
if(StringUtils.isNullOrEmpty(userCode)){
//userCode == null || userCode.equals("")
resultMap.put("userCode", "exist");
}else{
User user = userService.selectUserCodeExist(userCode);
if(null != user){
resultMap.put("userCode","exist");
}else{
resultMap.put("userCode", "notexist");
}
}
//把resultMap转为json字符串以json的形式输出
//配置上下文的输出类型
// response.setContentType("application/json");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//从response对象中获取往外输出的writer对象
PrintWriter outPrintWriter = response.getWriter();
//把resultMap转为json字符串 输出
outPrintWriter.write(JSONArray.toJSONString(resultMap));
outPrintWriter.flush();//刷新
UserServiceImpl userService;
@Autowired
RoleServiceImpl roleService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
BillServiceImpl billService;
@RequestMapping(value="/login.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response, Model model){
System.out.println("login ============ " );
//获取用户名和密码
String userCode = request.getParameter("userCode");
String userPassword = request.getParameter("userPassword");
System.out.println(userCode+" "+userPassword);
//调用service方法,进行用户匹配
User user = userService.login(userCode,userPassword);
System.out.println(user);
if(null != user){//登录成功
//放入session
request.getSession().setAttribute(Constants.USER_SESSION, user);
//页面跳转(frame.jsp)
return "frame";
}else{
//页面跳转(login.jsp)带出提示信息--转发
model.addAttribute("error", "用户名或密码不正确");
return "login";
//.forward(request, response);
}
}
}
public class SysFilter implements Filter {
if(StringUtils.isNullOrEmpty(queryProCode)){
queryProCode = "";
}
List<Provider> providerList = new ArrayList<Provider>();
providerList = providerService.getProviderList(queryProName,queryProCode);
request.setAttribute("providerList", providerList);
request.setAttribute("queryProName", queryProName);
request.setAttribute("queryProCode", queryProCode);
return "providerlist";
// request.getRequestDispatcher("providerlist.jsp").forward(request, response);
}
}
@Controller
public class Page_jump {
//表示方法与请求URL的映射,这里映射/index请求
@RequestMapping(value="/billadd",method = {RequestMethod.POST, RequestMethod.GET})
public String billadd(){
return "billadd";
}
@RequestMapping(value="/pwdmodify",method = {RequestMethod.POST, RequestMethod.GET})
public String pwdmodify(){
return "pwdmodify";
}
@RequestMapping(value="/provideradd",method = {RequestMethod.POST, RequestMethod.GET})
public String provideradd(){
return "provideradd";
}
@RequestMapping(value="/useradd",method = {RequestMethod.POST, RequestMethod.GET})
public String useradd(Model model){
model.addAttribute("user", new User());//这里给视图层提供了数据的对象,用来数据绑定
return "useradd";
}
/*@RequestMapping(value="/pwdmodify.do",method = {RequestMethod.POST,RequestMethod.GET})
public String index(){
return "pwdmodify";
}
@RequestMapping(value="/pwdmodify.do",method = {RequestMethod.POST,RequestMethod.GET})
public String index(){
return "pwdmodify";
}
@RequestMapping(value="/pwdmodify.do",method = {RequestMethod.POST,RequestMethod.GET})
public static void main(String[] args) {
System.out.println(new BigDecimal("23.235").setScale(2,BigDecimal.ROUND_HALF_DOWN));
}
}
@Controller
public class ProviderServlet {
@Autowired
BillServiceImpl billService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
UserServiceImpl userService;
@RequestMapping(value="/provider.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response, @RequestParam(value="method",required = false) String method)
return "useradd";
}
}
@Controller
public class BillServlet{
@Autowired
BillServiceImpl billService;
@Autowired
ProviderServiceImpl providerService;
@Autowired
UserServiceImpl userService;
@RequestMapping(value="/bill.do",method = {RequestMethod.POST, RequestMethod.GET})
public String doPost(HttpServletRequest request, HttpServletResponse response, @RequestParam(value="method",required = false) String method)
throws ServletException, IOException {
System.out.println("=================== "+method);
if(method != null && method.equals("query")){
return this.query(request,response);
}else if(method != null && method.equals("add")){
return this.add(request,response);