基于SSM的JSP+MYSQL进口零食销售系统

基于JSP的JSP+MYSQL进口零食销售系统mysql数据源

可以在此基础上进行扩展完善。

代码已经上传github,地址https://github.com/21503882/food
开发环境:
Eclipse ,MySQL 5.1,JDK1.7,Tomcat 7
涉及技术点:
MVC模式、JavaWeb、JDBC、HTML、CSS、JQUERY、分页、等。

使用工具:后台界面 -> beyond
提示框 -> x0popup
编辑器 -> WangEditor
下拉菜单 -> Select2
头像上传 -> ajaxfileupload
URL重写 -> urlrewrite
上传 -> Smartupload
项目功能:
登录,注册,评论,新闻管理,评论管理,分类管理,用户管理,用户组管理(权限),基本设置,站点设置

 

package com.caiyu.user;
 
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.json.JSONException;
import org.json.JSONObject;
 
import com.caiyu.constants.DB;
import com.caiyu.constants.Param;
 
public class LoginServlet extends HttpServlet {
 
    @Override
    public void doGet(HttpServletRequest req,HttpServletResponse res) {
        res.setContentType("application/json;charset=utf-8");
        res.setCharacterEncoding("UTF-8");
        try {
            JSONObject jsonObject = new JSONObject();
            String userName = req.getParameter(Param.REQ_USER_NAME);
            String psw = req.getParameter(Param.REQ_PSW);
            if (userName == null || psw == null) {
                jsonObject.put(Param.RES_LOGIN_RESULT, "参数个数错误");
            }
            else {
                Class.forName(DB.DRIVER);
                Connection conn = DriverManager.getConnection(DB.URL, DB.USER, DB.PSW);
                Statement stmt = conn.createStatement();
                String querySQL = "select id, user_name from user where (user_name='%1$s'" +
                                " or study_no='%1$s')" +
                                " and password='%2$s';";
                ResultSet rs = stmt.executeQuery(String.format(querySQL, userName, psw));
                if (rs.first()) {
                    jsonObject.put(Param.RES_LOGIN_RESULT, "success");
                    jsonObject.put(Param.RES_USER_ID, rs.getInt(1));
                    jsonObject.put(Param.RES_USER_NAME, rs.getString(2));
                }
                else {
                    jsonObject.put(Param.RES_LOGIN_RESULT, "用户名或密码错误");
                }
                if (rs!=null) rs.close();
                if (stmt!=null) stmt.close();
                if (conn!=null) conn.close();
            }
            res.getWriter().write(jsonObject.toString());    
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        }
 
    }
    
    @Override
    public void doPost(HttpServletRequest req,HttpServletResponse res) {
        this.doGet(req, res);
    }
}
 
package com.caiyu.user;
 
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import com.caiyu.constants.DB;
import com.caiyu.constants.Param;
 
public class RegisterServlet extends HttpServlet {
    
    @Override
    public void doGet(HttpServletRequest req,HttpServletResponse res) {
        res.setContentType("application/json;charset=utf-8");
        res.setCharacterEncoding("UTF-8");
        
        String userName = req.getParameter(Param.REQ_USER_NAME);
        String studyNo = req.getParameter(Param.REQ_STUDY_NO);
        String psw = req.getParameter(Param.REQ_PSW);
        
        String outputStr = "";
        try {
            Class.forName(DB.DRIVER);
            Connection conn = DriverManager.getConnection(DB.URL, DB.USER, DB.PSW);
            Statement stmt = conn.createStatement();
            
            //检查用户名是否存在
            String queryUserNameSQL = "select * from user where user_name='%1$s';";
            ResultSet rs = stmt.executeQuery(String.format(queryUserNameSQL, userName));
            if (rs.first()) {
                res.getWriter().write("该用户名已被注册");
            }
            else {
                //检查学号是否存在
                String queryStudyNoSQL = "select * from user where study_no='%1$s';";
                rs = stmt.executeQuery(String.format(queryStudyNoSQL, studyNo));
                if (rs.first()) {
                    outputStr = "该学号已被注册";
                }
                else {
                    //检查专业号是否正确
                    String professionNo = studyNo.substring(0, 6);    //专业代号取学号的前6位
                    String queryProNoSQL = "select * from user where profession_no='%1$s';";
                    rs = stmt.executeQuery(String.format(queryProNoSQL, professionNo));
                    if (!rs.first()) {
                        outputStr = "找不到学号对应的专业";
                    }
                    else {
                        String classNo = studyNo.substring(0, 8);
                        int grade = Integer.parseInt(studyNo.substring(4, 6));
                        int number = Integer.parseInt(studyNo.substring(8, 10));
                        String insertSql = "insert into user values " +
                                "(null,'%1$s','%2$s', '', '', '%3$s', '%4$s', '%5$s', '%6$d', '%7$d');";
                        stmt.execute(String.format(insertSql, userName, psw, 
                                        studyNo, professionNo, classNo, grade, number));
                        outputStr = Param.SUCCESS;
                    }
                }
            }
            if (rs!=null) rs.close();
            if (stmt!=null) stmt.close();
            if (conn!=null) conn.close();
            res.getWriter().write(outputStr);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }        
    }
    
    @Override
    public void doPost(HttpServletRequest req,HttpServletResponse res) {
        this.doGet(req, res);
    }
}
代码已经上传github,下载地址https://github.com/21503882/food
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目介绍: 此项目是实现商品的从后台填写商品信息、商品上架(立即上架 或 定时上架),到前台用户可见可商品后进行购买(购物车 或 立即购买)后的待结算、待支付状态,再到用户支付(模拟支付,暂时没有实现)后商品的状态为待发货,后台管理人员进行发货操作后填写运单号码并确认发货,再到用户收到商品后点击确认收货、评价订单,最后订单状态已完成的整个在线购物的商品交易流程。 * 商品上架-> 待结算 ->待支付 ->待发货 ->待收货 ->待评价 ->已完成 同时此项目配备了完善的开发文档( 60+ 页 ),涵盖了整个系统的需求分析、功能分析、系统设计、数据库设计、系统模块设计和系统实现等内容,可以为项目的学习者或使用者提供很好的辅助作用。 技术栈: Spring + SpringMVC + MyBatis + Redis + RabbitMQ + Quartz + Bootstrap 后端使用 SSM 作为主框架进行开发,集成 Redis 内存缓存、RabbitMQ 消息队列和 Quartz 作业调度框架。 前端使用 JSP 和 Bootstrap 来进行项目开发。 项目亮点: 1)使用 Spring + SpringMVC + MyBatis + Redis + RabbitMQ + Quartz + Bootstrap 进行项目整合开发 2)使用 Redis 实现购物车功能和商品信息的数据缓存功能,提高系统的响应速度并降低数据库的访问压力 3)使用 RabbitMQ 实现订单的异步化处理和系统的日志处理,提升系统对用户操作的响应速度并降低模块之间的耦合程度 4)使用 Spring AOP 在不侵入系统代码的基础上实现系统的日志收集、权限校验和数据埋点等功能 5)使用 Quartz 实现商品的自定义定时上架功能,为用户提供更高的操作灵活性

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值