代码结构
PlainText
超市管理系统/
├── src/
│ ├── com/
│ │ └── zhang/
│ ├── documents.txt
│ ├── documents_detail.txt
│ ├── goods.txt
│ ├── order.txt
│ ├── order_detail.txt
│ ├── role.txt
│ ├── tb_test.txt
│ └── user.txt
├── web/
│ ├── 1.html
│ ├── Boss.jsp
│ ├── WEB-INF/
│ │ ├── lib/
│ │ └── web.xml
│ ├── a.jsp
│ ├── buyer.jsp
│ ├── cashier.jsp
│ ├── error.jsp
│ ├── index.jsp
│ ├── login.jsp
│ ├── regedit.jsp
│ ├── static/
│ │ └── js/
│ ├── stock.jsp
│ ├── supermarket.jsp
│ ├── updateGoods.jsp
│ └── warehouse.jsp
└── demo.iml
该项目是一个超市管理系统,主要功能是实现超市日常运营的数字化管理,基于JSP+Java技术栈开发,采用文本文件存储数据。以下是核心功能总结:
1. 用户与权限管理
- 支持多角色管理:收银员、采购员、仓库管理员、老板四种角色
- 实现用户登录认证与权限控制,不同角色对应不同操作权限
2. 商品管理
- 维护商品基础信息:名称、价格、类别、库存、销量等
- 支持商品信息更新功能(对应
updateGoods.jsp
页面)
3. 订单与销售管理
- 记录销售订单信息:订单编号、创建时间、总金额、状态
- 管理订单明细:商品名称、单价、数量
- 提供收银结算功能(对应
cashier.jsp
页面)
4. 采购与库存管理
- 处理采购单据:记录采购单号、商品、价格、数量
- 支持入库、出库操作,维护商品库存水平
5. 系统架构
- 前端 :使用JSP页面实现用户交互,包括登录页、角色专属操作页等
login.jsp
- 后端 :
GoodsDao.java
- 数据存储:MySQL
6. 核心业务流程
- 采购员创建采购单 → 仓库管理员确认入库 → 更新商品库存
- 收银员录入销售订单 → 系统自动扣减库存 → 生成订单记录
- 老板可查看全系统数据,进行综合管理
表结构和初始数据
sql
CREATE TABLE user (
uid INT,
rid INT,
real_name VARCHAR(50),
username VARCHAR(50),
password VARCHAR(50),
phone VARCHAR(20),
states INT
);
INSERT INTO user VALUES
(1, 4, '张三', 'boss', '123', '12345678987', 1),
(2, 1, '张三', 'b', 'b', '13353611111', 1),
(3, 2, '李四', '12345', '12345', '13351112655', 1),
(4, 2, '李四', '123456', '123456', '12345678987', 1),
(5, 3, '张三', '风向决定发型', '123', '12345678901', 1),
(6, 3, '张三', '风向决定发型', '123', '12345678901', 1),
(7, 3, '张三', 'a', 'a', '12345678987', 1),
(8, 3, '张三', '张三', '123', '12345678901', 1),
(9, 3, '张三', '风向决定发型', '123', '12345678901', 1),
(10, 3, '张三', '嘻嘻', '123', '12345678901', 1),
(11, 3, '张三', '笑嘻嘻', '123', '12345678901', 1);
CREATE TABLE tb_test (
id INT,
name VARCHAR(50),
create_time DATETIME
);
CREATE TABLE role (
rid INT,
r_name VARCHAR(50),
permission INT,
comment VARCHAR(100)
);
INSERT INTO role VALUES
(1, '收银员', 1, '出库,结算'),
(2, '采购员', 2, '进货、查看商品库存、商品销量'),
(3, '仓库管理员', 3, '入库、查看商品库存'),
(4, '老板', 4, '管理下层');
CREATE TABLE `order` (
oid INT,
create_time DATETIME,
total DECIMAL(10,2),
states INT
);
INSERT INTO `order` VALUES
(1, '2021-05-13 11:11:06', 200, 1),
(2, '2021-05-14 11:16:03', 55, 1);
CREATE TABLE order_detail (
odid INT,
oid INT,
g_name VARCHAR(50),
price DECIMAL(10,2),
num INT
);
INSERT INTO order_detail VALUES
(1, 1, 'a', 1, 10),
(3, 2, 'b', 5, 1);
CREATE TABLE goods (
gid INT,
g_name VARCHAR(50),
price DECIMAL(10,2),
type VARCHAR(20),
stock INT,
sales INT,
barcode VARCHAR(100)
);
INSERT INTO goods VALUES
(1, '龙虾', 108, '海鲜', 51, 0, '条形码'),
(2, '海带', 10, '海鲜', 50, 0, '条形码'),
(3, '旺仔', 10, '零食', 50, 0, '条形码'),
(5, '青菜', 4, '蔬菜', 50, 0, '条形码'),
(6, '辣条', 2, '零食', 50, 0, '条形码'),
(7, '面包', 10, '零食', 50, 0, '条形码'),
(8, '红薯', 11.5, '蔬菜', 50, 0, '这是红薯的条形码'),
(9, '茄子', 88, '蔬菜', 50, 0, '这是茄子的条形码'),
(10, '黄瓜', 88, '蔬菜', 50, 0, '这是黄瓜的条形码'),
(11, '辣条', 3, '卫龙', 50, 0, '这是卫龙的条形码'),
(12, '豆浆', 2.5, '饮品', 50, 0, '这是豆浆的条形码');
CREATE TABLE documents (
did INT,
create_time DATETIME,
total DECIMAL(10,2),
type INT,
operator VARCHAR(50),
auditor VARCHAR(50)
);
INSERT INTO documents VALUES
(1, '2021-05-11 18:46:19', 50, 1, 'a', 'a'),
(2, '2021-05-11 20:28:17', 50, 1, 'a', 'a'),
(3, '2021-05-11 19:40:18', 2, 1, 'a', 'a'),
(4, '2021-05-12 18:39:26', 500, 0, '12345', 'a'),
(5, '2021-05-13 10:05:49', 50, 0, '12345', 'boss');
CREATE TABLE documents_detail (
ddid INT,
did INT,
gid INT,
price DECIMAL(10,2),
num INT,
total DECIMAL(10,2)
);
INSERT INTO documents_detail VALUES
(1, 1, 1, 1000, 50, 20),
(3, 2, 2, 2, 2, 1),
(4, 2, 2, 2, 2, 1),
(5, 1, 1, 50, 20, 1000);
实体类
java
public class User {
private Integer uid;//用户编号
private Integer rid;//角色编号
private String real_name;//真实姓名
private String username;//用户名
private String password;//密码(MD5加密)
private String phone;//手机号
private Boolean states=true;//用户状态(0正常,1停用)
}
//角色实体类
public class Role {
private int rid;//角色编号
private String r_name;//角色名
private int permission;//权限
private String comment;//备注
}
/**
* 订单表
*/
public class Order {
private Integer oid;//订单编号
private Timestamp create_time;//创建时间
private Double total;//总金额
private Integer states;//状态(0以删除,1 未支付,2 已支付)
}
/**
* 订单详情表
*/
public class Order_Detail {
private Integer odid;//订单详情编号
private Integer oid;//订单编号
private String g_name;//商品名称
private Double price;//单价
private Integer num;//数量
}
//商品表
public class Goods {
private Integer gid;//商品编号
private String g_name;//商品名
private Double price;//单价
private String type;//分类
private Integer stock;//库存
private Integer sales;//销量
private String barcode;//条形码
}
/**
* 单据
*/
public class Documents {
private Integer did;//订单编号
private Timestamp create_time;//创建时间
private Double total;//总金额
private Integer type;//类型(0进货单,1入库单)
private String operator;//操作人
private String auditor;//审核人
}
/**
* 单据详情
*/
public class Documents_Detail {
private Integer ddid;//单据详情编号
private Integer did;//单据编号
private Integer gid;//商品编号
private Double price;//商品进价
private Integer num;//数量
private Double total;//总金
}
dao连接MySQL工具类
java
package com.zhang.dao;
import java.sql.*;
//连接数据库工具
public class BaseDao {
private String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8";
private String username = "root";
private String password = "1234";
private static String driver = "com.mysql.cj.jdbc.Driver";
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
static {
try {
//加载驱动
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//创建链接
private void getConnection() {
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
//执行sql
//增删改
public int executeUpdate(String sql, Object... objs) {
//获得连接
getConnection();
try {
//select * from user where username=?and password=?
ps = conn.prepareStatement(sql);
if (objs != null) {
for (int i = 0; i < objs.length; i++) {
ps.setObject(i + 1, objs[i]);
}
}
int i = ps.executeUpdate();
close();
//关闭资源
return i;
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
//查询
public ResultSet executeQuery(String sql,Object... objs) {
getConnection();
try {
ps = conn.prepareStatement(sql);
if (objs != null) {
for (int i = 0; i < objs.length; i++) {
ps.setObject(i + 1, objs[i]);
}
}
rs = ps.executeQuery();
return rs;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//关闭
public void close() {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
System.out.println("关闭出错");
}
}
// public void test() {
// try {
// Class.forName(driver);
// Connection connection = DriverManager.getConnection(url, username, password);
// System.out.println("连接成功");
//
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// } catch (SQLException e) {
// e.printStackTrace();
// }
// }
public static void main(String[] args) {
BaseDao BaseDao=new BaseDao();
// BaseDao.test();
}
}
dao层
java
import com.zhang.entity.User;
public interface UserDao {
//添加用户
boolean addUser(User user);
//登陆用户信息
User logUser(User user);
}
public interface OrderDao {
int addOrder(Order order) throws Exception;
int delOrderByID(Integer oid) throws Exception;
int updateOrder(Order order) throws Exception;
List<Order> selectOrder() throws Exception;
}
public interface Order_DetailDao {
int addOrder_Detail(Order_Detail order_Detail) throws Exception;
int delOrder_Detail(Integer odid) throws Exception;
int updateOrder_Detail(Order_Detail order_Detail) throws Exception;
List<Order_Detail> selectOrder_Detail() throws Exception;
}
import com.zhang.entity.Goods;
import java.util.List;
//商品
public interface GoodsDao {
//添加商品(进货)
int addGoods(Goods goods);
//修改商品信息(修改)
int updateGoods(Goods goods);
//删除商品
int deleteGoods(Integer gid);
//查询全部商品
List<Goods> selGoods();
//根据类型查询商品
List<Goods> selGoodsByType(String type);
//根据销量查询商品
List<Goods> selGoodsByStock(Integer sales);
//根据商品名查询商品
List<Goods> selGoodsByG_Name(String g_name);
Goods selGoodsByID(Integer gid);
}
import com.zhang.entity.Documents;
import java.util.List;
public interface DocumentsDao {
//创建单据
int addDocuments(Documents documents);
//查看单据
List<Documents> selectDocuments();
//根据ID查看单据
List<Documents> selectDocuments(Integer did);
//修改单据
int updateDocuments(Documents documents);
//删除单据
int deleteDocuments(Integer did);
//根据type查询
List<Documents> selectDocumentsByType(Integer type);
}
import com.zhang.entity.Documents_Detail;
import java.util.List;
public interface Documents_DetailDao {
//创建单据详情
int addDocuments_detail(Documents_Detail documents_detail);
//查看单据详情
List<Documents_Detail> selectDocuments_detail();
//根据表单编号查看单据详情
List<Documents_Detail> selectDocuments_detailByID(Integer ddid);
//修改单据详情
int updateDocuments_detail(Documents_Detail documents_detail);
//删除单据详情
int deleteDocuments_detail(Integer ddid);
}
dao实现层
java
package com.zhang.dao.impl;
import com.zhang.dao.BaseDao;
import com.zhang.dao.UserDao;
import com.zhang.entity.User;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserDaoImpl extends BaseDao implements UserDao {
//用户注测
@Override
public boolean addUser(User user) {
String sql = "insert into user (uid,rid,real_name,username,password,phone,states) values (?,?,?,?,?,?,?)";
int i = this.executeUpdate(sql,null,user.getRid(),user.getReal_name(),user.getUsername(),user.getPassword(),user.getPhone(),true);
return i > 0 ? true : false;
}
//用户登陆
@Override
public User logUser(User user) {
//selete * from user where username=""and passwoed="" '1'or'1=1 '
String sql = "select * from user where username= ? and password=?";
ResultSet rs = executeQuery(sql,user.getUsername(),user.getPassword());
try {
User user1=null;
if (rs.next()){
user1= new User(rs.getInt(1),rs.getInt(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getBoolean(7));
}
close();
return user1;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
// public static void main(String[] args) {
// UserDaoImpl userDao = new UserDaoImpl();
// User user = new User(3,1,"管理员","admin","123","12345678987");
// boolean b = userDao.addUser(user);
// System.out.println(b);
// }
}
package com.zhang.dao.impl;
import com.zhang.dao.BaseDao;
import com.zhang.dao.OrderDao;
import com.zhang.entity.Order;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class OrderDaoImpl extends BaseDao implements OrderDao {
@Override
public int addOrder(Order order) throws Exception {
String sql = "insert into `order` (oid,create_time,total,states) values (?,?,?,?)";
return executeUpdate(sql, null, order.getCreate_time(), order.getTotal(), order.getStates());
}
@Override
public int delOrderByID(Integer oid) throws Exception {
String sql = "delete from `order` where oid=?";
return executeUpdate(sql, oid);
}
@Override
public int updateOrder(Order order) throws Exception {
String sql="update `order` set create_time=?,total=?,states=? where oid=?";
return executeUpdate(sql,order.getCreate_time(),order.getTotal(),order.getStates(),order.getOid());
}
@Override
public List<Order> selectOrder() throws Exception {
String sql="select * from `order`";
ResultSet resultSet = executeQuery(sql);
List list = new ArrayList();
try {
while (resultSet.next()) {
list.add(new Order(resultSet.getInt(1),resultSet.getTimestamp(2),resultSet.getDouble(3),resultSet.getInt(4)));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
// public static void main(String[] args) {
// OrderDaoImpl orderDao=new OrderDaoImpl();
// Date date = new Date();
// try {
// // System.out.println(orderDao.addOrder(new Order(null,new Timestamp(date.getTime()),800D,1)));
// //System.out.println(orderDao.updateOrder(new Order(new Timestamp(date.getTime()),600D,1,2)));
//// System.out.println(orderDao.selectOrder());
// System.out.println(orderDao.delOrderByID(2));
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
}
package com.zhang.dao.impl;
import com.zhang.dao.BaseDao;
import com.zhang.dao.Order_DetailDao;
import com.zhang.entity.Order;
import com.zhang.entity.Order_Detail;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class Order_DetailDaoImpl extends BaseDao implements Order_DetailDao {
@Override
public int addOrder_Detail(Order_Detail order_Detail) throws Exception {
String sql = "insert into order_detail (odid,oid,g_name,price,num) values (?,?,?,?,?)";
return executeUpdate(sql, null, order_Detail.getOid(), order_Detail.getG_name(), order_Detail.getPrice(), order_Detail.getNum());
}
@Override
public int delOrder_Detail(Integer odid) throws Exception {
String sql = "delete from order_detail where odid=?";
return executeUpdate(sql, odid);
}
@Override
public int updateOrder_Detail(Order_Detail order_Detail) throws Exception {
String sql = "update order_detail set oid=?,g_name=?,price=?,num=? where odid=?";
return executeUpdate(sql, order_Detail.getOid(), order_Detail.getG_name(), order_Detail.getPrice(), order_Detail.getNum(), order_Detail.getOdid());
}
@Override
public List<Order_Detail> selectOrder_Detail() throws Exception {
String sql = "select * from order_detail";
ResultSet resultSet = executeQuery(sql);
List list = new ArrayList();
try {
while (resultSet.next()) {
list.add(new Order_Detail(resultSet.getInt(1), resultSet.getInt(2), resultSet.getString(3), resultSet.getDouble(4), resultSet.getInt(5)));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
// public static void main(String[] args) {
// Order_DetailDaoImpl order_detailDao = new Order_DetailDaoImpl();
// try {
//// System.out.println(order_detailDao.selectOrder_Detail());
//// System.out.println(order_detailDao.addOrder_Detail(new Order_Detail(null, 2, "b", 5D, 1)));
//// System.out.println(order_detailDao.updateOrder_Detail(new Order_Detail( 2, "c", 5D, 1,2)));
//// System.out.println(order_detailDao.delOrder_Detail(2));
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
}
package com.zhang.dao.impl;
import com.zhang.dao.BaseDao;
import com.zhang.dao.GoodsDao;
import com.zhang.entity.Goods;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class GoodsDaoImpl extends BaseDao implements GoodsDao {
@Override
public int addGoods(Goods goods) {
String sql = "insert into goods (gid,g_name,price,type,stock,sales,barcode) values (null,?,?,?,?,?,?)";
return executeUpdate(sql, goods.getG_name(), goods.getPrice(), goods.getType(), goods.getStock(), goods.getSales(), goods.getBarcode());
}
@Override
public int updateGoods(Goods goods) {
String sql = "update goods set g_name=?,price=?,type=?,stock=?,sales=?,barcode=? where gid=?";
return executeUpdate(sql, goods.getG_name(), goods.getPrice(), goods.getType(), goods.getStock(), goods.getSales(), goods.getBarcode(), goods.getGid());
}
@Override
public int deleteGoods(Integer gid) {
String sql = "delete from goods where gid=?";
return executeUpdate(sql, gid);
}
@Override
public List<Goods> selGoods( ) {
String sql = "select * from goods";
ResultSet resultSet = executeQuery(sql);
List list = new ArrayList();
try {
while (resultSet.next()) {
list.add(new Goods(resultSet.getInt(1),resultSet.getString(2),resultSet.getDouble(3),resultSet.getString(4),resultSet.getInt(5),resultSet.getInt(6),resultSet.getString(7)));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
@Override
public List<Goods> selGoodsByType(String type) {
String sql = "select * from goods where type=?";
ResultSet resultSet = executeQuery(sql,type);
List list = new ArrayList();
try {
while (resultSet.next()) {
list.add(new Goods(resultSet.getInt(1),resultSet.getString(2),resultSet.getDouble(3),resultSet.getString(4),resultSet.getInt(5),resultSet.getInt(6),resultSet.getString(7)));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
@Override
public List<Goods> selGoodsByStock(Integer stock) {
String sql = "select * from goods where stock=?";
ResultSet resultSet = executeQuery(sql,stock);
List list = new ArrayList();
try {
while (resultSet.next()) {
list.add(new Goods(resultSet.getInt(1),resultSet.getString(2),resultSet.getDouble(3),resultSet.getString(4),resultSet.getInt(5),resultSet.getInt(6),resultSet.getString(7)));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
@Override
public List<Goods> selGoodsByG_Name(String g_name) {
String sql = "select * from goods where stock=?";
ResultSet resultSet = executeQuery(sql,g_name);
List list = new ArrayList();
try {
while (resultSet.next()) {
list.add(new Goods(resultSet.getInt(1),resultSet.getString(2),resultSet.getDouble(3),resultSet.getString(4),resultSet.getInt(5),resultSet.getInt(6),resultSet.getString(7)));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
@Override
public Goods selGoodsByID(Integer gid) {
String sql = "select * from goods where gid=?";
ResultSet resultSet = executeQuery(sql,gid);
Goods goods=null;
try {
while (resultSet.next()) {
goods= new Goods(resultSet.getInt(1), resultSet.getString(2), resultSet.getDouble(3), resultSet.getString(4), resultSet.getInt(5), resultSet.getInt(6), resultSet.getString(7));
}
close();
} catch (Exception e) {
e.printStackTrace();
}
return goods;
}
// public static void main(String[] args) {
// GoodsDaoImpl GoodsDaoImpl = new GoodsDaoImpl();
// // Goods goods = new Goods(null, "青菜", 4.00, "蔬菜", 50, 0, "条形码");
// System.out.println(GoodsDaoImpl.selGoodsByID(1));
// //int i = GoodsDaoImpl.addGoods(new Goods(null, "青菜", 4.00, "蔬菜", 50, 0, "条形码"));
// //int i = GoodsDaoImpl.deleteGoods(1);
// //System.out.println(i);
// // System.out.println(GoodsDaoImpl.selGoods(new Goods(null, "青菜", 4.00, "蔬菜", 50, 0, "条形码"))+"\n");
// // System.out.println(GoodsDaoImpl.selGoodsByType("零食"));
//
// }
}
package com.zhang.dao.impl;
import com.zhang.dao.BaseDao;
import com.zhang.dao.DocumentsDao;
import com.zhang.entity.Documents;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class DocumentsDaoImpl extends BaseDao implements DocumentsDao {
@Override
public int addDocuments(Documents documents) {
String sql="INSERT INTO documents (did,create_time,total,type,operator,auditor) VALUES(?,?,?,?,?,?)";
return executeUpdate(sql,null,documents.getCreate_time(),documents.getTotal(),documents.getType(),documents.getOperator(),documents.getAuditor());
}
@Override
public List<Documents> selectDocuments() {
String sql ="select * from documents";
ResultSet resultSet = executeQuery(sql);
List list=new ArrayList();
try {
while (resultSet.next()){
list.add(new Documents(resultSet.getInt(1),resultSet.getTimestamp(2),resultSet.getDouble(3),resultSet.getInt(4),resultSet.getString(5),resultSet.getString(6)));
}
close();
}catch (Exception e){
e.printStackTrace();
}
return list;
}
@Override
public List<Documents> selectDocuments(Integer did) {
String sql="select * from documents where did=?";
ResultSet resultSet = executeQuery(sql,did);
List list=new ArrayList();
try {
while (resultSet.next()){
list.add(new Documents(resultSet.getInt(1),resultSet.getTimestamp(2),resultSet.getDouble(3),resultSet.getInt(4),resultSet.getString(5),resultSet.getString(6)));
}
close();
}catch (Exception e){
e.printStackTrace();
}
return list;
}
@Override
public int updateDocuments(Documents documents) {
String sql="update documents set total=?,type=?,operator=?,auditor=? where did=? ";
return executeUpdate(sql,documents.getTotal(),documents.getType(),documents.getOperator(),documents.getAuditor(),documents.getDid());
}
@Override
public int deleteDocuments(Integer did) {
String sql="delete from documents where did=?";
return executeUpdate(sql,did);
}
@Override
public List<Documents> selectDocumentsByType(Integer type) {
String sql="select * from documents where type=?";
ResultSet resultSet = executeQuery(sql,type);
List list=new ArrayList();
try {
while (resultSet.next()){
list.add(new Documents(resultSet.getInt(1),resultSet.getTimestamp(2),resultSet.getDouble(3),resultSet.getInt(4),resultSet.getString(5),resultSet.getString(6)));
}
close();
}catch (Exception e){
e.printStackTrace();
}
return list;
}
// public static void main(String[] args) {
// DocumentsDaoImpl documentsDaoImpl=new DocumentsDaoImpl();
//// Date date=new Date();
//// Documents Documents=new Documents(null,new Timestamp(date.getTime()),2d,1,"a","a");
//// documentsDaoImpl.addDocuments(Documents);
// // System.out.println( documentsDaoImpl.selectDocuments(2));
//
// // System.out.println(documentsDaoImpl.updateDocuments(new Documents(55D, 33, "b", "b", 2)));
// // System.out.println( documentsDaoImpl.deleteDocuments(2));
// //System.out.println(documentsDaoImpl.selectDocumentsByType(0));
// }
}
package com.zhang.dao.impl;
import com.zhang.dao.BaseDao;
import com.zhang.dao.Documents_DetailDao;
import com.zhang.entity.Documents;
import com.zhang.entity.Documents_Detail;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class Documents_DetailDaoImpl extends BaseDao implements Documents_DetailDao {
@Override
public int addDocuments_detail(Documents_Detail documents_Detail) {
String sql="INSERT INTO documents_detail (ddid,did,gid,price,num,total) VALUES(?,?,?,?,?,?)";
return executeUpdate(sql,null,documents_Detail.getDid(),documents_Detail.getGid(),documents_Detail.getPrice(),documents_Detail.getNum(),documents_Detail.getTotal());
}
@Override
public List<Documents_Detail> selectDocuments_detail(){
String sql ="select * from documents_detail";
ResultSet resultSet = executeQuery(sql);
List list=new ArrayList();
try {
while (resultSet.next()){
list.add(new Documents_Detail(resultSet.getInt(1),resultSet.getInt(2),resultSet.getInt(3),resultSet.getDouble(4),resultSet.getInt(5),resultSet.getDouble(6)));
}
close();
}catch (Exception e){
e.printStackTrace();
}
return list;
}
@Override
public List<Documents_Detail> selectDocuments_detailByID(Integer ddid){
String sql="select * from documents_detail where ddid=?";
ResultSet resultSet = executeQuery(sql,ddid);
List list=new ArrayList();
try {
while (resultSet.next()){
list.add(new Documents_Detail(resultSet.getInt(1),resultSet.getInt(2),resultSet.getInt(3),resultSet.getDouble(4),resultSet.getInt(5),resultSet.getDouble(6)));
}
close();
}catch (Exception e){
e.printStackTrace();
}
return list;
}
@Override
public int updateDocuments_detail(Documents_Detail documents_detail){
String sql="update documents_detail set did=?,gid=?,price=?,num=?,total=? where ddid=? ";
return executeUpdate(sql,documents_detail.getDid(),documents_detail.getGid(),
documents_detail.getPrice(),documents_detail.getNum(),documents_detail.getTotal(),
documents_detail.getDdid());
}
@Override
public int deleteDocuments_detail(Integer ddid){
String sql="delete from documents_detail where ddid=?";
return executeUpdate(sql,ddid);
}
public static void main(String[] args) {
Documents_DetailDaoImpl Documents_DetailDaoImpl=new Documents_DetailDaoImpl();
//System.out.println(Documents_DetailDaoImpl.selectDocuments_detail());
// System.out.println(Documents_DetailDaoImpl.selectDocuments_detailByID(1));
// System.out.println(Documents_DetailDaoImpl.addDocuments_detail(new Documents_Detail(null,2,2,2D,2,1D)));
// System.out.println(Documents_DetailDaoImpl.updateDocuments_detail(new Documents_Detail(2,2,4D,2,2D,2)));
// System.out.println(Documents_DetailDaoImpl.deleteDocuments_detail(2));
}
}
过滤器
java
package com.zhang.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
//处理乱码
@WebFilter("/*")
public class CharacterFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
servive层
java
import com.zhang.entity.User;
public interface UserService {
//用户注册
boolean addUser(User user);
//用户登录
User logUser(User user);
}
import com.zhang.entity.Order;
import java.util.List;
public interface OrderService {
boolean addOrder(Order order) throws Exception;
boolean delOrderByID(Integer oid) throws Exception;
boolean updateOrder(Order order) throws Exception;
List<Order> selectOrder() throws Exception;
}
import com.zhang.entity.Goods;
import java.util.List;
public interface GoodsService {
//添加商品(进货)
int addGoods(Goods goods);
//修改商品信息(修改)
int updateGoods(Goods goods);
//删除商品
int deleteGoods(Integer gid);
//查询全部商品
List<Goods> selGoods( );
//根据类型查询商品
List<Goods> selGoodsByType(String type);
//根据销量查询商品
List<Goods> selGoodsByStock(Integer sales);
//根据商品名查询商品
List<Goods> selGoodsByG_Name(String g_name);
//根据ID查询商品
Goods selGoodsByID(Integer gid);
}
import com.zhang.entity.Documents;
import java.util.List;
public interface DocumentsService {
//创建单据
boolean addDocuments(Documents documents);
//查看单据
List<Documents> selectDocuments();
//根据ID查看单据
List selectDocuments(Integer did);
//修改单据
boolean updateDocuments(Documents documents);
//删除单据
boolean deleteDocuments(Integer did);
//根据type查询
List<Documents> selectDocumentsByType(Integer type);
}
import com.zhang.entity.Documents_Detail;
import java.util.List;
public interface Documents_DetailService {
//创建单据详情
boolean addDocuments_detail(Documents_Detail documents_detail);
//查看单据详情
List<Documents_Detail> selectDocuments_detail();
//根据表单编号查看单据详情
List<Documents_Detail> selectDocuments_detailByID(Integer ddid);
//修改单据详情
boolean updateDocuments_detail(Documents_Detail documents_detail);
//删除单据详情
boolean deleteDocuments_detail(Integer ddid);
}
service实现层
java
package com.zhang.service.impl;
import com.zhang.dao.UserDao;
import com.zhang.dao.impl.UserDaoImpl;
import com.zhang.entity.User;
import com.zhang.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao=new UserDaoImpl();
@Override
public boolean addUser(User user) {
return userDao.addUser(user);
}
@Override
public User logUser(User user) {
return userDao.logUser(user);
}
}
package com.zhang.service.impl;
import com.zhang.dao.OrderDao;
import com.zhang.dao.impl.OrderDaoImpl;
import com.zhang.entity.Order;
import com.zhang.service.OrderService;
import java.util.List;
public class OrderServiceImpl implements OrderService {
private OrderDao orderDao=new OrderDaoImpl();
@Override
public boolean addOrder(Order order) throws Exception {
return orderDao.addOrder(order)>0?true:false;
}
@Override
public boolean delOrderByID(Integer oid) throws Exception {
return orderDao.delOrderByID(oid)>0?true:false;
}
@Override
public boolean updateOrder(Order order) throws Exception {
return orderDao.updateOrder(order)>0?true:false;
}
@Override
public List<Order> selectOrder() throws Exception {
return orderDao.selectOrder();
}
}
package com.zhang.service.impl;
import com.zhang.dao.GoodsDao;
import com.zhang.dao.impl.GoodsDaoImpl;
import com.zhang.entity.Goods;
import com.zhang.service.GoodsService;
import java.util.List;
public class GoodsServiceImpl implements GoodsService {
private GoodsDao goodsDao=new GoodsDaoImpl();
@Override
public int addGoods(Goods goods) {
return goodsDao.addGoods(goods);
}
@Override
public int updateGoods(Goods goods) {
return goodsDao.updateGoods(goods);
}
@Override
public int deleteGoods(Integer gid) {
return goodsDao.deleteGoods(gid);
}
@Override
public List<Goods> selGoods() {
return goodsDao.selGoods();
}
@Override
public List<Goods> selGoodsByType(String type) {
return goodsDao.selGoodsByType(type);
}
@Override
public List<Goods> selGoodsByStock(Integer sales) {
return goodsDao.selGoodsByStock(sales);
}
@Override
public List<Goods> selGoodsByG_Name(String g_name) {
return goodsDao.selGoodsByG_Name(g_name);
}
@Override
public Goods selGoodsByID(Integer gid) {
return goodsDao.selGoodsByID(gid);
}
}
package com.zhang.service.impl;
import com.zhang.dao.DocumentsDao;
import com.zhang.dao.impl.DocumentsDaoImpl;
import com.zhang.entity.Documents;
import com.zhang.service.DocumentsService;
import java.util.List;
public class DocumentsServiceImpl implements DocumentsService {
private DocumentsDao documentsDao=new DocumentsDaoImpl();
@Override
public boolean addDocuments(Documents documents) {
return documentsDao.addDocuments(documents)>0?true:false;
}
@Override
public List<Documents> selectDocuments() {
return documentsDao.selectDocuments();
}
@Override
public List selectDocuments(Integer did) {
return documentsDao.selectDocuments(did);
}
@Override
public boolean updateDocuments(Documents documents) {
return documentsDao.updateDocuments(documents)>0?true:false;
}
@Override
public boolean deleteDocuments(Integer did) {
return documentsDao.deleteDocuments(did)>0?true:false;
}
@Override
public List<Documents> selectDocumentsByType(Integer type) {
return documentsDao.selectDocumentsByType(type);
}
}
package com.zhang.service.impl;
import com.zhang.dao.Documents_DetailDao;
import com.zhang.dao.impl.Documents_DetailDaoImpl;
import com.zhang.entity.Documents_Detail;
import com.zhang.service.Documents_DetailService;
import java.util.List;
public class Documents_DetailServiceImpl implements Documents_DetailService {
private Documents_DetailDao documents_detailDao = new Documents_DetailDaoImpl();
@Override
public boolean addDocuments_detail(Documents_Detail documents_detail) {
return documents_detailDao.addDocuments_detail(documents_detail) > 0 ? true : false;
}
@Override
public List<Documents_Detail> selectDocuments_detail() {
return documents_detailDao.selectDocuments_detail();
}
@Override
public List<Documents_Detail> selectDocuments_detailByID(Integer ddid) {
return documents_detailDao.selectDocuments_detailByID(ddid);
}
@Override
public boolean updateDocuments_detail(Documents_Detail documents_detail) {
return documents_detailDao.updateDocuments_detail(documents_detail) > 0 ? true : false;
}
@Override
public boolean deleteDocuments_detail(Integer ddid) {
return documents_detailDao.deleteDocuments_detail(ddid) > 0 ? true : false;
}
}
servlet层
java
package com.zhang.servlet;
import com.zhang.entity.Documents_Detail;
import com.zhang.service.Documents_DetailService;
import com.zhang.service.impl.Documents_DetailServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/addDocuments_DetailsServlet")
public class AddDocuments_DetailsServlet extends HttpServlet {
private Documents_DetailService documents_detailService=new Documents_DetailServiceImpl();
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String ddid = request.getParameter("ddid");
String did = request.getParameter("did");
String gid = request.getParameter("gid");
String price = request.getParameter("price");
String num = request.getParameter("num");
String total = request.getParameter("total");
boolean b = documents_detailService.addDocuments_detail(new Documents_Detail(Integer.parseInt(did), Integer.parseInt(gid), Double.parseDouble(price), Integer.parseInt(num), Double.parseDouble(total), null));
if (b){
response.sendRedirect("./buyer.jsp");
}else {
response.sendRedirect("./error.jsp");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Documents;
import com.zhang.service.DocumentsService;
import com.zhang.service.impl.DocumentsServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.Date;
@WebServlet("/addDocumentsServlet")
public class AddDocumentsServlet extends HttpServlet {
private DocumentsService documentsService=new DocumentsServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String did = request.getParameter("did");
String create_time = request.getParameter("create_time");
String type = request.getParameter("type");
String total = request.getParameter("total");
String operator = request.getParameter("operator");
String auditor = request.getParameter("auditor");
Date date=new Date();
boolean b = documentsService.addDocuments(new Documents(null, new Timestamp(date.getTime()), Double.parseDouble(total), Integer.parseInt(type), operator, auditor));
if (b){
response.sendRedirect("./buyer.jsp");
}else {
response.sendRedirect("./error.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
import com.zhang.entity.Documents;
import com.zhang.entity.Documents_Detail;
import com.zhang.service.DocumentsService;
import com.zhang.service.Documents_DetailService;
import com.zhang.service.impl.DocumentsServiceImpl;
import com.zhang.service.impl.Documents_DetailServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet("/BOSSLoginServlet")
public class BOSSLoginServlet extends HttpServlet {
private DocumentsService documentsService=new DocumentsServiceImpl();
private Documents_DetailService documents_detailService=new Documents_DetailServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取数据库中单据的数据
//进货单
List<Documents> documents=documentsService.selectDocumentsByType(0);
//入库单
List<Documents> documents1=documentsService.selectDocumentsByType(1);
//单据详情
List<Documents_Detail> documents_details = documents_detailService.selectDocuments_detail();
//存入session
request.getSession().setAttribute("documents",documents);
request.getSession().setAttribute("documents1",documents1);
request.getSession().setAttribute("documents_details",documents_details);
response.sendRedirect("./Boss.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
@WebServlet("/bServlet")
public class BServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String text = request.getParameter("text");
System.out.println(text);
response.sendRedirect("./login.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Documents;
import com.zhang.entity.Documents_Detail;
import com.zhang.service.DocumentsService;
import com.zhang.service.Documents_DetailService;
import com.zhang.service.impl.DocumentsServiceImpl;
import com.zhang.service.impl.Documents_DetailServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet("/buyerServlet")
public class BuyerServlet extends HttpServlet {
private DocumentsService documentsService=new DocumentsServiceImpl();
private Documents_DetailService documents_detailService=new Documents_DetailServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取数据库中单据的数据
List<Documents> documents=documentsService.selectDocuments();
List<Documents_Detail> documents_details = documents_detailService.selectDocuments_detail();
//存入session
request.getSession().setAttribute("documents",documents);
request.getSession().setAttribute("documents_details",documents_details);
response.sendRedirect("./buyer.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Order;
import com.zhang.service.OrderService;
import com.zhang.service.impl.OrderServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.Date;
@WebServlet("/cashierServlet")
public class CashierServlet extends HttpServlet {
private OrderService orderService=new OrderServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String oid = request.getParameter("oid");
String create_time = request.getParameter("create_time");
String total = request.getParameter("total");
String states = request.getParameter("states");
Date date=new Date();
try {
orderService.addOrder(new Order(null,new Timestamp(date.getTime()),Double.parseDouble(total),Integer.parseInt(states)));
} catch (Exception e) {
e.printStackTrace();
}
response.sendRedirect("./cashier.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Goods;
import com.zhang.service.GoodsService;
import com.zhang.service.impl.GoodsServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 预修改仓库的
*/
@WebServlet("/findUpdateGoodsServlet")
public class FindUpdateGoodsServlet extends HttpServlet {
private GoodsService goodsService = new GoodsServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
try {
// //获取id
String gid = request.getParameter("gid");
// System.out.println(gid);
// //调用service
Goods goods = goodsService.selGoodsByID(Integer.parseInt(gid));
request.setAttribute("goods", goods);
request.getRequestDispatcher("/updateGoods.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package com.zhang.servlet;
import com.zhang.entity.User;
import com.zhang.service.UserService;
import com.zhang.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 登陆的
*/
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
private UserService userService = new UserServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//从页面获取到用户名,密码
String username = request.getParameter("username");
String password = request.getParameter("password");
//调用方法验证登录
User user = userService.logUser(new User(null, username, password));
//System.out.println("user.getStates()"+user.getStates());
if (user != null) {
//判断用户状态,为真就登陆
if(user.getStates()) {
//重新new个User封装全部数据
User user1 = new User(user.getUid(), user.getRid(), user.getReal_name(), username, password, user.getPhone(), user.getStates());
//登陆成功,把数据放到session中
request.getSession().setAttribute("user1", user1);
//每个身份跳转到不同的页面进行管理
if (user1.getRid() == 1) {
//收银员
response.sendRedirect("./cashier.jsp");
}
if (user1.getRid() == 2) {
//采购员
request.getRequestDispatcher("./buyerServlet").forward(request, response);
}
if (user1.getRid() == 3) {
//仓库管理员
request.getRequestDispatcher("./warehouseServlet").forward(request, response);
}
if (user1.getRid() == 4) {
//老板
response.sendRedirect("./BOSSLoginServlet");
}
}else {
response.sendRedirect("./error.jsp");
}
} else {
//注册失败
response.sendRedirect("./error.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
package com.zhang.servlet;
import com.zhang.entity.User;
import com.zhang.service.UserService;
import com.zhang.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 注测的业务
*/
@WebServlet("/regeditServlet")
public class RegeditServlet extends HttpServlet {
private UserService userService = new UserServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String uid = request.getParameter("uid");
int rid = 0;
String shenfen = request.getParameter("shenfen");
if (shenfen.equals("收银员")) {
rid = 1;
} else if (shenfen.equals("采购员")) {
rid = 2;
} else if (shenfen.equals("仓库管理员")) {
rid = 3;
}
String real_name = request.getParameter("real_name");
String username = request.getParameter("username");
String password = request.getParameter("password");
String phone = request.getParameter("phone");
String states = request.getParameter("states");
//System.out.println("states:==" + states);
boolean fal=true;
if (states.equals("0")){
fal=true;
}else {
fal=false;
}
System.out.println(fal);
if (userService.addUser(new User(null, rid, real_name, username, password, phone,fal))) {
//注册成功
response.sendRedirect("./login.jsp");
} else {
//注册失败
response.sendRedirect("./error.jsp");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Goods;
import com.zhang.service.GoodsService;
import com.zhang.service.impl.GoodsServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 进货的逻辑处理
*/
@WebServlet("/stockServlet")
public class StockServlet extends HttpServlet {
private GoodsService goodsService =new GoodsServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String uid = request.getParameter("uid");
String g_name = request.getParameter("g_name");
String price = request.getParameter("price");
String type = request.getParameter("type");
String stock = request.getParameter("stock");
String sales = request.getParameter("sales");
String barcode = request.getParameter("barcode");
int i = goodsService.addGoods(new Goods(g_name, Double.parseDouble(price), type, Integer.parseInt(stock), Integer.parseInt(sales), barcode));
System.out.println(i);
response.sendRedirect("./warehouse.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Goods;
import com.zhang.service.GoodsService;
import com.zhang.service.impl.GoodsServiceImpl;
import org.apache.commons.beanutils.BeanUtils;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
/**
* 修改的servlet
*/
@WebServlet("/updateGoodsServlet")
public class UpdateGoodsServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String gid = request.getParameter("gid");
String g_name = request.getParameter("g_name");
String price = request.getParameter("price");
String type = request.getParameter("type");
String stock = request.getParameter("stock");
String sales = request.getParameter("sales");
String barcode = request.getParameter("barcode");
GoodsService goodsService=new GoodsServiceImpl();
//通过id获得Goods
int i = goodsService.updateGoods(new Goods(g_name,Double.parseDouble(price),type,Integer.parseInt(stock),Integer.parseInt(sales),barcode,Integer.parseInt(gid)));
if(i==1){
response.sendRedirect(request.getContextPath()+"/warehouse.jsp");
}else if (i==0){
System.out.println(123);
}
// Map<String, String[]> map = request.getParameterMap();
// Goods goods=new Goods();
// try {
// BeanUtils.populate(goods,map);
// GoodsService goodsService=new GoodsServiceImpl();
// int i = goodsService.updateGoods(goods);
// System.out.println(i);
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// }
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
package com.zhang.servlet;
import com.zhang.entity.Goods;
import com.zhang.service.GoodsService;
import com.zhang.service.impl.GoodsServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
/**
* 仓库管理员
*/
@WebServlet("/warehouseServlet")
public class WarehouseServlet extends HttpServlet {
private GoodsService goodsService=new GoodsServiceImpl();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//将数据库中的仓库中的数据弄到页面上
List<Goods> goods = goodsService.selGoods();
// System.out.println(goods);
//将数据储存到session中
request.getSession().setAttribute("goods",goods);
//将页面跳转到warehouse.jsp
response.sendRedirect("./warehouse.jsp");
//request.getRequestDispatcher("./warehouse.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
测试部分
java
package com.zhang.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
@WebServlet("/aServlet")
public class aServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// String str = getRequestPayload(request); //调用方法 获取前端数据,返回字符串
// System.out.println(str);
// if (str != null && str.length() != 0) { //如果字符串不为空
// if (!str.contains("command")) {
// if (str.contains("admin")) {
// password = str.replaceAll("[[^0-9]]", ""); //正则表达式处理字符串,很麻烦
// System.out.println(password);
// res = manager.adminLogin("admin", password);
// flag = 0;
// } else {
// String newStr = str.replaceAll("[[^0-9,]]", "");
// String data[] = newStr.split(",");
// if (data[0].substring(0, 1).equals("4")) {
// res = manager.studentLogin(data[0], data[1]);
// flag = 2;
// } else {
// res = manager.teacherLogin(data[0], data[1]);
// flag = 1;
// }
// }
// PrintWriter out = response.getWriter(); //返回数据要用到的对象
// if (res && flag == 0) {
// out.write("管理员登录成功"); //具体返回数据,这里的内容就是前端res.data获取的内容
// } else if (res && flag == 1) { //由于该方法只能返回字符串,所以如果你要返回数据(比如从数据库查询的数据)
// out.write("教师登录成功"); //需要先将数据 通过阿里的fastjson工具转换为一个json字符串,这样发送过去,前端接收到会自动转换为对象
// } else if (res && flag == 2) {
// out.write("学生登录成功");
// }
// if (!res) {
// out.write("登录失败");
// }
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
public class a extends HttpServlet {
/*
因为没办法通过request.getParameter("参数名")方法获取前端传来的数据,
于是通过此方法接受前端传来的数据,转换为字符串输出
*/
private String getRequestPayload(HttpServletRequest req) {
StringBuilder sb = new StringBuilder();
try (BufferedReader reader = req.getReader();) {
char[] buff = new char[1024];
int len;
while ((len = reader.read(buff)) != -1) {
sb.append(buff, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
/**
* 使用上述方法,可以将前端传来的数据(键值对)转换为字符串,但这对我们的取数据就造成了麻烦,我前期一直用正则表达式处理字符串,获取想要的数据,最后随着前端传送的数据越来越复杂,该方法就不再合适了,**这里强推阿里的 fastjson包,可以直接将json字符串转换为对象,真香**
*
* fastjson下载,看这篇文档
*/
public static void main(String[] args) {
}
}
前端页面
html
<!-- Boss.jsp -->
<%@ page import="com.zhang.entity.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Boss</title>
欢迎<%
//获取session
User user = (User) session.getAttribute("user1");
//如果没有这个用户重新登陆
if (user == null) {
response.sendRedirect("./login.jsp");
} else {
out.println(user.getUsername());
// out.print("部门编号"+user.getRid());
}
%>
<br>
<script src="./static/js/jQuery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript" async="true">
function qq_onclick() {
var text_2 = document.getElementById("text_1");
text_2.removeAttribute("hidden");
}
function qq_close() {
var text_1 = document.getElementById("text_1");
text_1.setAttribute("hidden", true);
}
function qq_onclick1() {
var text_2 = document.getElementById("text_2");
text_2.removeAttribute("hidden");
}
function qq_close1() {
var text_1 = document.getElementById("text_2");
text_1.setAttribute("hidden", true);
}
function qq_onclick2() {
var text_2 = document.getElementById("text_3");
text_2.removeAttribute("hidden");
}
function qq_close2() {
var text_1 = document.getElementById("text_3");
text_1.setAttribute("hidden", true);
}
</script>
</head>
<body>
<%--单据--%>
<div id="text_1" hidden>
<h3>进货单</h3>
<form>
<c:forEach items="${sessionScope.documents}" var="documents">
<span hidden> 单据ID:</span><input type="text" name="did" value="${documents.did}" hidden><br>
创建时间<input type="text" name="create_time" value="${documents.create_time}"><br>
总金额<input type="text" name="total" value="${documents.total}"><br>
类型<input type="text" name="type" value="${documents.type}"><br>
操作人<input type="text" name="operator" value="${documents.operator}"><br>
审核人<input type="text" name="auditor" value="${documents.auditor}"><br>
</c:forEach>
</form>
<button type="button" id="but1" onclick="qq_close()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<%--查看单据详情--%>
<div id="text_2" hidden>
<h3>入库单</h3><br>
<form>
<c:forEach items="${sessionScope.documents1}" var="documents1">
<span hidden> 单据ID:</span><input type="text" name="did" value="${documents1.did}" hidden><br>
创建时间<input type="text" name="create_time" value="${documents1.create_time}"><br>
总金额<input type="text" name="total" value="${documents1.total}"><br>
类型<input type="text" name="type" value="${documents1.type}"><br>
操作人<input type="text" name="operator" value="${documents1.operator}"><br>
审核人<input type="text" name="auditor" value="${documents1.auditor}"><br>
</c:forEach>
</form>
<button type="button" id="but2" onclick="qq_close1()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<%--查看单据详情详情--%>
<div id="text_3" hidden>
<h3>查看单据详情详情</h3><br>
<form>
<c:forEach items="${sessionScope.documents_details}" var="documents_details">
单据详情编号<input type="text" value="${documents_details.ddid}" name="ddid"><br>
单据编号<input type="text" value="${documents_details.did}" name="did"><br>
商品编号<input type="text" value="${documents_details.gid}" name="gid"><br>
商品进价<input type="text" value="${documents_details.price}" name="price"><br>
数量<input type="text" value="${documents_details.num}" name="num"><br>
总金额<input type="text" value="${documents_details.total}" name="total"><br>
<br>
</c:forEach>
</form>
<button type="button" id="but3" onclick="qq_close2()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<input type="button" onclick="qq_onclick()" value="点击查看进货单">
<input type="button" onclick="qq_onclick1()" value="点击查看入库单">
<input type="button" onclick="qq_onclick2()" value="点击查看单据详情">
<br>
<input type="button" value="功能待定">
<br>
<input type="button" value="查看单据">
<br>
<input type="button" value="功能待定">
<br>
<input type="button" value="功能待定">
<br>
<input type="button" value="功能待定">
<br>
<input type="button" value="查看仓库商品信息">
</body>
</html>
<!-- buyer.jsp -->
<%@ page import="com.zhang.entity.User" %><%--
采购员页面
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>采购员页面</title>
</head>
欢迎<%
//获取session
User user = (User) session.getAttribute("user1");
//如果没有这个用户重新登陆
if (user == null) {
response.sendRedirect("./login.jsp");
} else {
out.println(user.getUsername());
// out.print("部门编号"+user.getRid());
}
%>
<script src="./static/js/jQuery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript" async="true">
function qq_onclick() {
var text_2 = document.getElementById("text_1");
text_2.removeAttribute("hidden");
}
function qq_close() {
var text_1 = document.getElementById("text_1");
text_1.setAttribute("hidden", true);
}
function qq_onclick1() {
var text_2 = document.getElementById("text_2");
text_2.removeAttribute("hidden");
}
function qq_close1() {
var text_1 = document.getElementById("text_2");
text_1.setAttribute("hidden", true);
}
function qq_onclick2() {
var text_2 = document.getElementById("text_3");
text_2.removeAttribute("hidden");
}
function qq_close2() {
var text_1 = document.getElementById("text_3");
text_1.setAttribute("hidden", true);
}
function qq_onclick3() {
var text_2 = document.getElementById("text_4");
text_2.removeAttribute("hidden");
}
function qq_close3() {
var text_1 = document.getElementById("text_4");
text_1.setAttribute("hidden", true);
}
</script>
</body>
<!--中文乱码解决方式-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<br><br><br>
<%--显示单据--%>
<div id="text_1" hidden>
<h3>单据</h3>
<form>
<c:forEach items="${sessionScope.documents}" var="documents">
<span hidden> 单据ID:</span><input type="text" name="did" value="${documents.did}" hidden><br>
创建时间<input type="text" name="create_time" value="${documents.create_time}"><br>
总金额<input type="text" name="total" value="${documents.total}"><br>
类型<input type="text" name="type" value="${documents.type}"><br>
操作人<input type="text" name="operator" value="${documents.operator}"><br>
审核人<input type="text" name="auditor" value="${documents.auditor}"><br>
</c:forEach>
</form>
<button type="button" id="but1" onclick="qq_close()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<%--显示单据详情--%>
<div id="text_2" hidden>
<h3>单据详情</h3><br>
<form>
<c:forEach items="${sessionScope.documents_details}" var="documents_details">
单据详情编号<input type="text" value="${documents_details.ddid}" name="ddid"><br>
单据编号<input type="text" value="${documents_details.did}" name="did"><br>
商品编号<input type="text" value="${documents_details.gid}" name="gid"><br>
商品进价<input type="text" value="${documents_details.price}" name="price"><br>
数量<input type="text" value="${documents_details.num}" name="num"><br>
总金额<input type="text" value="${documents_details.total}" name="total"><br>
<br>
</c:forEach>
</form>
<br>
<button type="button" id="but2" onclick="qq_close1()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<%--创建单据--%>
<div id="text_3" hidden>
<h3>创建单据</h3><br>
<form action="${pageContext.request.contextPath}/addDocumentsServlet" method="post">
<input type="text" value="订单编号" name="did" hidden><br>
<input type="text" value="创建时间" name="create_time" hidden><br>
总金额<input type="text" value="总金额" name="total"><br>
类型<input type="text" value="类型:0进货单、1入库单" name="type">类型(0 进货单、1 入库单)<br>
操作人<input type="text" value="操作人" name="operator"><br>
审核人<input type="text" value="审核人" name="auditor"><br>
<button type="submit">点击创建</button>
<button type="reset">重置</button>
</form>
<button type="button" id="but3" onclick="qq_close2()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<%--创建单据详情--%>
<div id="text_4" hidden>
<h3>创建单据详情</h3><br>
<form action="${pageContext.request.contextPath}/addDocuments_DetailsServlet" method="post">
<input type="text" value="单据详情编号" name="ddid" hidden><br>
单据编号<input type="text" value="单据编号" name="did"><br>
商品编号<input type="text" value="商品编号" name="gid"><br>
商品进价<input type="text" value="商品进价" name="price"><br>
数量<input type="text" value="数量" name="num"><br>
总金额<input type="text" value="总金额" name="total"><br>
<button type="submit">点击创建</button>
<button type="reset">重置</button>
</form>
<button type="button" id="but4" onclick="qq_close3()">关闭</button>
<br> <br> <br> <br> <br>
</div>
<button type="button" onclick="qq_onclick()">单据</button>
<br>
<button type="button" onclick="qq_onclick1()">单据详情</button>
<br>
<button type="button" onclick="qq_onclick2()">创建单据</button>
<br>
<button type="button" onclick="qq_onclick3()">创建单据详情</button>
</body>
</html>
<!-- cashier.jsp -->
<%@ page import="com.zhang.entity.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--收银员页面
12345
12345
--%>
<html>
<head>
<title>收银员页面</title>
</head>
欢迎<%
//获取session
User user = (User) session.getAttribute("user1");
//如果没有这个用户重新登陆
if (user == null) {
response.sendRedirect("./login.jsp");
} else {
out.println(user.getUsername());
// out.print("部门编号"+user.getRid());
}
%>
<br><br><br><br>
<script src="./static/js/jQuery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript" async="true">
function qq_onclick() {
var text_2 = document.getElementById("text_1");
text_2.removeAttribute("hidden");
}
function qq_close() {
var text_1 = document.getElementById("text_1");
text_1.setAttribute("hidden", true);
}
</script>
</body>
<!--中文乱码解决方式-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div id="text_1" hidden style="width: 200px;height: 250px;background: #98d3fb;" >
<form action="./cashierServlet">
<h3>创建订单</h3>
<input value="订单编号" name="oid" hidden><br>
<input value="创建时间" name="create_time" hidden><br>
<input value="总金额" name="total"><br>
<input value="订单状态:0删1未支付2已支" name="states"><br>
<br><br>
<button type="reset">重置</button>
<button type="button" id="but" onclick="qq_close()">关闭</button><br><br>
<button type="submit">提交</button><br>
</form>
</div>
<button type="button" onclick="qq_onclick()">创建单据</button>
<br><br><br><br>
<button type="button">点击查看未支付订单</button>
<button type="button">已支付订单</button>
</body>
</html>
<!-- error.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>--%>
<%--<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>--%>
<html>
<head>
<title>报错页面</title>
</head>
<body>
<input type="text" style="font-size: 500px" value="错误">
</body>
</html>
<!-- index.jsp -->
<%@ page import="com.zhang.entity.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--老板页面--%>
<html>
<head>
<title>主页面</title>
</head>
<body>
欢迎<%
//获取session
User user = (User) session.getAttribute("user1");
//如果没有这个用户重新登陆
if (user == null) {
response.sendRedirect("./login.jsp");
} else {
out.println(user.getUsername());
// out.print("部门编号"+user.getRid());
}
%>
</body>
<!--中文乱码解决方式-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<input type="text" style="font-size: 250px" value="谢">
<input type="text" value="">
<input type="text" value="">
<input type="text" value="">
<input type="text" value="">
<input type="text" value="">
<input type="text" value="">
</html>
<!-- login.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>登陆</title>
<body>
<!--中文乱码解决方式-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form action="./loginServlet" method="post">
请输入用户名:<input type="text" name="username" value=""><br>
请输入密码<input type="password" id="pwd" name="password" value=""><br>
<input type="text" name="states" hidden value="请输入用户状态">
<button type="submit">登陆</button>
</form>
<%--
(role)注测-->(user)登陆-->采购员(单据,单据详情)-->老板审核,修改状态-->仓库管理员(商品)-->收银员(订单,订单编号)-->-->
登陆页面,跳转到显示页面
根据不同的rid显示出不同的页面
1.仓库管理员
入库、查看商品库存
rid 1==收银员:出库,结算
rid 2==采购员:进货、查看商品库存、商品销量
rid 3==仓库管理员:入库、查看商品库存
rid 4==Admin,可查看全部
***************手机扫码,把扫出来的东西弄到数据库中并显示***************
--%>
</body>
</html>
<!-- regedit.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>注测页面</title>
</head>
<body>
<h1>请注册</h1>
<form action="./regeditServlet" method="post" id="regedit">
<input type="text" name="uid" hidden>
请选择身份:<input type="radio" id="shenfen1" name="shenfen" value="收银员">收银员
<input type="radio" id="shenfen2" name="shenfen" value="采购员">采购员
<input type="radio" id="shenfen3" name="shenfen" value="仓库管理员">仓库管理员<br>
<input type="radio" id="shenfen4" name="shenfen" value="老板" hidden="hidden"><span hidden>老板</span><br>
<input type="text" name="real_name" value="张三">请输入真实姓名<br>
<input type="text" name="username" value="风向决定发型">请输入用户名<br>
<input type="password" id="pwd" name="password" value="123">请输入密码<br>
<input type="password" id="tmpPwd" name="password" value="1234">请确认入密码<br>
<input type="text" name="phone" value="12345678901">请输入手机号<br>
<input type="text" name="states" value="0" hidden><span hidden>用户状态</span>
<button type="button" onclick="regedit()">注测</button>
</form>
<script type="text/javascript">
function regedit() {
var pwdEL = document.getElementById("pwd");
var elementById = document.getElementById("tmpPwd");
if (pwdEL.value == tmpPwd.value && pwdEL.value != null &&pwdEL.value!="") {
//数据进行提交
document.getElementById("regedit").submit();
}else{
alert("两次密码不能各不相同");
}
}
</script>
</body>
</html>
<!-- stock.jsp -->
<%--
进货的jsp
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>入库</title>
</head>
<body>
<h3> 请输入要进的商品的名称<br></h3>
<form action="./stockServlet" method="post">
<spam hidden>商品ID</spam><input type="text" name="gid" hidden>
商品名<input type="text" name="g_name"><br>
价格<input type="text" name="price"><br>
类型<input type="text" name="type"><br>
数量<input type="text" name="stock"><br>
销量<input type="text" name="sales"><br>
条形码<input type="text" name="barcode"><br>
<button type="submit">提交</button>
</form>
</body>
</html>
<!-- supermarket.jsp -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>超市页面</title>
</head>
<body>
<h3>购物页面</h3>
</body>
</html>
<!-- updateGoods.jsp -->
<%@ page import="com.zhang.entity.User" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>修改商品信息</title>
<%
//获取session
User user = (User) session.getAttribute("user1");
//如果没有这个用户重新登陆
if (user == null) {
response.sendRedirect("./login.jsp");
} else {
//out.println(user.getUsername());
// out.print("部门编号"+user.getRid());
}
%>
</head>
<body>
<script src="./static/js/jQuery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript" async="true">
</script>
<form action="${pageContext.request.contextPath}/updateGoodsServlet" itmes="goods" var="goods" method="post">
<input name="gid" value="${goods.gid}" hidden><br>
商品名:<input name="g_name" value="${goods.g_name}"><br>
价格:<input name="price" value="${goods.price}"><br>
类型:<input name="type" value="${goods.type}"><br>
库存:<input name="stock" value="${goods.stock}"><br>
销量:<input name="sales" value="${goods.sales}"><br>
条形码:<input name="barcode" value="${goods.barcode}"><br>
<%-- <button type="button"><a href="${pageContext.request.contextPath}/updateGoodsServlet?gid=${goods.gid}">修改</a></button>--%>
<input type="submit" value="修改1">
<button type="reset">重置</button>
</form>
</body>
</html>
<!-- warehouse.jsp-->
<%@ page import="com.zhang.entity.User" %>
<%@ page import="com.zhang.entity.Goods" %>
<%@ page import="java.util.List" %><%--
仓库管理员
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>仓库管理员页面</title>
</head>
欢迎<%
//获取session
User user = (User) session.getAttribute("user1");
//如果没有这个用户重新登陆
if (user == null) {
response.sendRedirect("./login.jsp");
} else {
// List list = (List) session.getAttribute("goods");
//
// out.println("谢瑞想真好看" + list);
out.println(user.getUsername());
}
%>
<body>
<!--中文乱码解决方式-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%--入库--%>
<%--查看商品库存--%>
<%--显示出所有商品的信息--%>
<br>
<h1>显示出所有商品的信息</h1>
<button><a href="./stock.jsp">点击入库</a></button>
<table>
<th>商品编号</th>
<th>商品名</th>
<th>单价</th>
<th>类型</th>
<th>库存</th>
<th>销量</th>
<th>条形码</th>
<c:forEach items="${sessionScope.goods}" var="goods" >
<tr>
<td>${goods.gid}</td>
<td>${goods.g_name}</td>
<td>${goods.price}</td>
<td>${goods.type}</td>
<td>${goods.stock}</td>
<td>${goods.sales}</td>
<td>${goods.barcode}</td>
<td>
<button><a href="./findUpdateGoodsServlet?gid=${goods.gid}">点击修改</a> </button>
</td>
</tr>
</c:forEach>
</table>
<button> 更多功能开发中</button>
</body>
</html>
访问
先登录再访问 servlet才能看到数据