基于javaweb的SSM实现进销存系统(java+ssm+bootstrap+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

280023042402

290023042402

300023042402

310023042402

320023042402

330023042402

基于javaweb的SSM实现进销存系统(java+ssm+bootstrap+jsp+mysql)

项目介绍

进销存库存管理系统源码,采用了ssm框架,功能结构非常简单明了,界面也比较清爽大气,非常适合学生和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.是否Maven项目: 否;

6.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis

  2. 前端:JSP+css+javascript+bootstrap+jQuery

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	return zrr;
}
public void setZrr(String zrr) {
this.zrr = zrr;
}
public int getSl() {
return sl;
}
public void setSl(int sl) {
this.sl = sl;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public int getSh() {
return sh;
}
public void setSh(int sh) {
this.sh = sh;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getHw() {
return hw;
}
public void setHw(String hw) {
this.hw = hw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public String getJg() {
return jg;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
	@RequestMapping("update_hw")
public String updateHw(Model model,Integer id){
model.addAttribute("hw",h.dy(id));
return "gly/updateHw";
}

@RequestMapping("update_hw_act")
public String updateHwAct(Model model,Hw hw){
hw.setDate(new Date(System.currentTimeMillis()));
h.updateHw(hw);
return "redirect:tzkc";
}

}
package org.shop.pojo;


public class Hw {
private int id;// 编号
private String name;// 货物名称
private int number;// 数量
private String money;// 价格
private String gy;// 供应商
private String phone;// 联系电话
private Date date;// 更新时间
private int sj;// 上架-入库
private int sh;// 审核
private String zrr;// 责任人
private String t5;//
private String t6;//

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
		<input id="password" name="password" required="required"
type="password" placeholder="请输入密码" />
</p>
<p class="form form-horizontal validate-form">
<!--
<table>
<tr>

<td><label for="username" class="uname">验证码</label></td>
<td><input type="button" id="code" onclick="createCode()"
style="width: 35px; height: 15px; margin-left: 12px" />&nbsp;</td>
<td><input type="text" id="input" value=""
style="width: 45px; height: 15px; margin-left: 12px" />&nbsp;</td>
</tr>
</table>
-->
</p>
<p class="login button">
<input type="submit" value="登录" onclick="validate()" />
</p>
<p class="change_link">
不是成员?<a href="#toregister" class="to_register">加入我们</a>
</p>

</div>

<div id="register" class="animate form">
<form action="user/touser" autocomplete="on" method="post">
<h1>注册</h1>
<p>
<label for="usernamesignup" class="uname" data-icon="u">用户名</label>
<input id="usernamesignup" name="name" required="required"
type="text" placeholder="用户名" />
</p>
<p>
<label for="passwordsignup" class="youpasswd" data-icon="p">密码</label>
<input id="passwordsignup" name="password" required="required"
type="password" placeholder="密码" />
</p>
<p>
<label for="passwordsignup" class="youpasswd" data-icon="p">性别</label>

<select class="form-control" name="sex" id="sex">
<option value="0" ></option>
<option value="1" ></option>
</select>

</p>
<p>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@Autowired
private HwDao hd;

@Override
public List sp(Hw hw) {
// TODO Auto-generated method stub
return hd.sp(hw);
}

@Override
public int spxj(Hw hw) {
// TODO Auto-generated method stub
return hd.spxj(hw);
}

@Override
public int xjrk(Hw hw) {
// TODO Auto-generated method stub
return hd.xjrk(hw);
}

public Hw dy(int id) {
// TODO Auto-generated method stub
return hd.dy(id);
}

@Override
public int ckkk(Hw hw) {
// TODO Auto-generated method stub
return hd.ckkk(hw);
}

@Override
public Hw dys(String name) {
// TODO Auto-generated method stub
return hd.dys(name);
}

@Override
public int jj(int id) {
// TODO Auto-generated method stub
return hd.jj(id);
}

@Override
public int updateHw(Hw hw) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
            <!--所有方法都是事务方法-->
<tx:method name="*"/>
<!--以get开始的所有方法-->
<tx:method name="get" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- -->

<!--Spring配置文件的核心点(数据源、与MyBatis的整合、事务控制-->

</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!--SpringMVC的配置,包含网站跳转逻辑的控制配置-->
<context:component-scan base-package="org.shop" use-default-filters="false">
<!--只扫描控制器-->
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:include-filter>
</context:component-scan>

<!--配置视图解析器,方便页面返回-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>

<!--两个标准配置-->
<!--将springmvc不能处理的请求交给tomcat-->
<mvc:default-servlet-handler />
<!--能支持springMVC的更高级的一些功能,JSP303校验,快捷的ajax。。映射动态请求-->
<mvc:annotation-driven />

<!-- 文件上传配置 -->
<bean name="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="UTF-8"/>
<!-- 上传文件大小限制为31M,31*1024*1024 -->
<property name="maxUploadSize" value="32505856"/>
<!-- 内存中的最大值 -->
<property name="maxInMemorySize" value="4096"/>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
		user.setDate(new Date(System.currentTimeMillis()));
u.userup(user);
return "redirect:tzlogin";
}

@RequestMapping("update_hw")
public String updateHw(Model model,Integer id){
model.addAttribute("hw",h.dy(id));
return "gly/updateHw";
}

@RequestMapping("update_hw_act")
public String updateHwAct(Model model,Hw hw){
hw.setDate(new Date(System.currentTimeMillis()));
h.updateHw(hw);
return "redirect:tzkc";
}

}
package org.shop.pojo;


public class Hw {
private int id;// 编号
private String name;// 货物名称
private int number;// 数量
private String money;// 价格
private String gy;// 供应商
private String phone;// 联系电话
private Date date;// 更新时间
private int sj;// 上架-入库
private int sh;// 审核
private String zrr;// 责任人
private String t5;//
private String t6;//

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {


项目链接:
https://javayms.github.io?id=331422282105200df
https://javayms.pages.dev?id=331422282105200df