作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
本系统分为前后台,分为普通用户和管理员两种角色;
管理员角色包含以下功能:
管理员登录,用户管理,路线分类管理,路线管理,订单管理,留言管理,新闻管理等功能。
用户角色包含以下功能:
按分类查看,用户登录,修改个人信息,查看旅游线路详情,加入购物车,查看订单,提交订单,提交留言等功能。
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版本;
6.是否Maven项目:否;
JSP+CSS+JavaScript+java+servlet+mysql
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中src/com/hr/dao/Basedao.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入http://localhost:8080/ 登录
管理员账号/密码:admin/admin
用户账号/密码:user/123456





管理员角色






gmServlet
- package com.web.shopservlet;
-
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
-
- import com.hr.dao.ESDao;
- import com.hr.entity.EASYBUY_ORDER_DETAIL;
- import com.hr.entity.EASYBUY_USER;
- import com.hr.util.EncodeUtil;
-
-
- public class gmServlet extends HttpServlet {
- @Override
- protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
- throws ServletException, IOException {
- arg1.setContentType("text/html;charset=utf-8");
- PrintWriter out=arg1.getWriter();
- EncodeUtil.encode(arg0);
- HttpSession session=arg0.getSession();
- EASYBUY_USER list=(EASYBUY_USER)session.getAttribute("name");
- //用户id
- String id=list.getEU_USER_ID();
- //用户姓名
- String name=list.getEU_USER_NAME();
- //用户地址
- String address=list.getEU_ADDRESS();
- //总价钱
- String price=arg0.getParameter("jstext");
-
- //商品id
- String [] EP_ID=arg0.getParameterValues("spID");
- //购买数量
- String [] quantity=arg0.getParameterValues("number");
- //商品单价
- String [] sPPrice=arg0.getParameterValues("sPPrice");
-
- //购买后对商品表的库存进行修改
- for(int i=0;i
- int count5=ESDao.updateStock(Integer.parseInt(quantity[i]),Integer.parseInt(EP_ID[i]));
- }
- //商品单个总价
- int [] pprice=new int[EP_ID.length];
- for(int i=0;i
- pprice[i]=Integer.parseInt(quantity[i])*Integer.parseInt(sPPrice[i]);
- }
- /得到序列
- //往订单表里添加数据
- int count=ESDao.insertDD(id, name, address,Integer.parseInt(price));
- int getSequenceId=ESDao.getSequenceId();
- //循环往订单详情添加
- for(int i=0;i
- EASYBUY_ORDER_DETAIL eod=new EASYBUY_ORDER_DETAIL(1,getSequenceId,Integer.parseInt(EP_ID[i]),Integer.parseInt(quantity[i]),pprice[i]);
- int count2=ESDao.eodInsert(eod);
- }
-
-
-
- // 开单后,修改购物车
- String [] esID=arg0.getParameterValues("esID");
- for(int i=0;i
- int count3 =ESDao.esdelete(Integer.parseInt(esID[i]));
- }
- /
- if(count>0){
-
- out.print("");
- out.close();
- }else{
- out.print("");
- out.close();
- }
- }
- }
ShopSelect
- package com.web.shopservlet;
-
-
- //订单表数据的查询
-
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.ArrayList;
-
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import com.hr.dao.ESDao;
- import com.hr.entity.EASYBUY_USER;
- import com.hr.entity.eb_shop;
- import com.hr.util.EncodeUtil;
-
- public class ShopSelect extends HttpServlet {
- @Override
- protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
- throws ServletException, IOException {
- EncodeUtil.encode(arg0);
- arg1.setContentType("text/html;charset=utf-8");
- PrintWriter out = arg1.getWriter();
- HttpSession session=arg0.getSession();
- EASYBUY_USER userCZ=(EASYBUY_USER)session.getAttribute("name");
- if(userCZ!=null){
- // System.out.println("登录好了");
- EASYBUY_USER eu=(EASYBUY_USER)session.getAttribute("name");
- String id=(String)eu.getEU_USER_ID();
- ArrayList
list=ESDao.getShop(id); - arg0.setAttribute("shoplist",list);
- arg0.getRequestDispatcher("shopping.jsp").forward(arg0, arg1);
- }else{
- out.print("");
- out.close();
-
- }
- }
- }
UpdateServlet
- package com.web.shopservlet;
-
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import com.hr.dao.ESDao;
- import com.hr.entity.eb_shop;
-
- public class UpdateServlet extends HttpServlet {
- @Override
- protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
- throws ServletException, IOException {
- arg1.setContentType("text/html;charset=utf-8");
- PrintWriter out = arg1.getWriter();
- String str1=arg0.getParameter("pid");
- String str2=arg0.getParameter("action");
- String str3=arg0.getParameter("getvalue");
- if(str2.equals("jia")){
- int count=ESDao.updateJia(Integer.parseInt(str1));
- }
- if(str2.equals("jian")){
- int count=ESDao.updateJian(Integer.parseInt(str1));
-
- }
- if(str2.equals("closeText")){
- eb_shop es=new eb_shop(Integer.parseInt(str1), "1", "1", 1, Integer.parseInt(str3), 1, 1, "1", 1);
- int count=ESDao.updateClose(es);
- }
- if(str2.equals("delText")){
- int count=ESDao.getDeleteDD(Integer.parseInt(str1));
- }
- arg1.sendRedirect("ShopSelect");
- }
- }
ESDao
- package com.hr.dao;
-
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
-
- import com.hr.entity.EASYBUY_ORDER_DETAIL;
- import com.hr.entity.EASYBUY_PRODUCT_CATEGORY;
- import com.hr.entity.EASYBUY_USER;
- import com.hr.entity.eb_shop;
-
- public class ESDao {
- /**
- * 两张表联查做购物车
- */
- public static ArrayList
getShop(String id){ - ArrayList
list=new ArrayList(); - Connection conn=Basedao.getconn();
- PreparedStatement ps=null;
- ResultSet rs=null;
- try {
- ps=conn.prepareStatement("select * from EASYBUY_SHOP where es_EU_USER_ID=? and ES_VALID=1 order by es_id desc");
- ps.setString(1,id);
- rs=ps.executeQuery();
- while(rs.next()){
- eb_shop es=new eb_shop(
- rs.getInt("es_id"),
- rs.getString("es_ep_file_name"),
- rs.getString("es_ep_name"),
- rs.getInt("es_ep_price"),
- rs.getInt("es_eod_quantity"),
- rs.getInt("es_ep_stock"),
- rs.getInt("es_ep_id"),
- rs.getString("es_EU_USER_ID"),
- rs.getInt("es_valid")
- );
- list.add(es);
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }finally{
- Basedao.closeall(rs, ps, conn);
-
- }
- return list;
- }
- /*
- *
- *修改订单数量 加
- */
- public static int updateJia(int id){
- String sql="update EASYBUY_SHOP set es_eod_quantity=es_eod_quantity+1 where es_id=?";
- Object [] params={id};
- return Basedao.exectuIUD(sql, params);
- }
-
- /*
- *
- *修改订单数量 减
- */
- public static int updateJian(int id){
- String sql="update EASYBUY_SHOP set es_eod_quantity=es_eod_quantity-1 where es_id=?";
- Object [] params={id};
- return Basedao.exectuIUD(sql, params);
- }
- /*
- *
- * 修改订单数量,自己输入
- */
- public static int updateClose(eb_shop es){
- String sql="update EASYBUY_SHOP set es_eod_quantity=? where es_id=?";
- Object [] params={es.es_eod_quantity,es.es_id};
- return Basedao.exectuIUD(sql, params);
- }
- /**
- * 修改订单为2
- * @param id
- * @return
- */
- public static int getDelete(int id){
- String sql="update EASYBUY_SHOP set es_vaild=2 where es_id=?";
- Object[] params={id};
- return Basedao.exectuIUD(sql, params);
- }
- /*
- *
- * 订单表的添加
- *
- */
- public static int insertDD(String id,String name,String address,int price){
- String sql="insert into EASYBUY_ORDER values(null,?,?,?,now(),?,1,1)";
- Object [] params={id,name,address,price};
- return Basedao.exectuIUD(sql, params);
- }
- /*
- * 得到序列
- */
- public static int getSequenceId(){
- int id = 0;
- Connection conn = Basedao.getconn();
- PreparedStatement ps = null;
- ResultSet rs = null;
- try {
- ps = conn.prepareStatement("select EO_ID from easybuy_order order by EO_ID desc limit 0,1");
- rs = ps.executeQuery();
- if(rs.next()){
- id = rs.getInt(1);
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- Basedao.closeall(rs, ps, conn);
- }
- return id;
- }
- /*
- *
- * 订单详细表的添加
- */
- public static int eodInsert(EASYBUY_ORDER_DETAIL eod){
- String sql="insert into EASYBUY_ORDER_DETAIL values(null,?,?,?,?)";
- Object [] params={eod.getEO_ID(),eod.getEP_ID(),eod.getEOD_QUANTITY(),eod.getEOD_COST()};
- return Basedao.exectuIUD(sql, params);
- }
- /*
- *
- * 购物单的修改
- */
- public static int esdelete(int id){
- String sql="update EASYBUY_SHOP set es_valid=2 where es_id=?";
- Object [] params={id};
- return Basedao.exectuIUD(sql, params);
- }
- //kucun
- public static int updateStock(int stock,int id){
- String sql="update EASYBUY_PRODUCT set ep_stock=ep_stock-? where ep_id=?";
- Object [] params={stock,id};
- return Basedao.exectuIUD(sql, params);
- }
-
- public static int insert(eb_shop sp){
- String sql = "insert into easybuy_shop values(null,?,?,?,?,?,?,?,1)";
- Object[] params = {sp.getEs_ep_file_name(),
- sp.getEs_ep_name(),
- sp.getEs_ep_price(),
- sp.getEs_eod_quantity(),
- sp.getEs_ep_stock(),
- sp.getEs_ep_id(),
- sp.getEs_EU_USER_ID()};
- return Basedao.exectuIUD(sql, params);
- }
-
- public static int getDeleteDD(int id){
- String sql="delete from easybuy_shop where es_id=?";
- Object [] params={id};
- return Basedao.exectuIUD(sql, params);
- }
- }
Basedao
- package com.hr.dao;
-
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
-
-
- public class Basedao {
- static{
- try {
- Class.forName("com.mysql.jdbc.Driver");
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- public static Connection getconn(){
- Connection conn=null;
- try {
- conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_zxlv_shop?useUnicode=true&characterEncoding=UTF-8","root","root");
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return conn;
- }
-
- public static void closeall(ResultSet rs,Statement ps,Connection conn){
- try {
- if(rs!=null)
- rs.close();
- if(ps!=null)
- ps.close();
- if(conn!=null)
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
-
- }
-
- public static int exectuIUD(String sql,Object[] params){
- int count=0;
- Connection conn=Basedao.getconn();
- PreparedStatement ps=null;
- try {
- ps=conn.prepareStatement(sql);
- if(params!=null){
- for (int i = 0; i < params.length; i++) {
- ps.setObject(i+1, params[i]);
- }
- }
- count=ps.executeUpdate();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- finally{
- Basedao.closeall(null, ps, conn);
- }
- return count;
- }
- }
如果也想学习本系统,下面领取。关注并回复:062jsp
-
相关阅读:
【STL】map/multimap容器
【Labview】通过串口通信从上位机读取和写入数据
python表白弹框
《大话设计模式》精髓理解——Chapter 16 - 20 状态、适配器、备忘录、组合、迭代器
Java知识点整理 16 — Spring Bean
C#webform Static DataTable 多人同时操作网页数据重复问题
次氯酸双光子聚集诱导发光型分子探针/聚集诱导发光环状多烯类分子/氮杂环聚集诱导发光分子的研究
软件评测师之流水线
基于workbench的PTFE矩形密封圈压缩回弹仿真分析
DES加密前端入参
-
原文地址:https://blog.csdn.net/m0_74967853/article/details/128031622