java SSM自助快递服务平台myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点
    java SSM自助快递服务平台是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代
码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

ssm自助快递服务平台


二、功能介绍
(1)用户模块:
1.寄件管理模块:用户可以填写寄件人信息和收件人信息,以及寄发的物品信息和物流信息,以及快递员上门取件的时间;
2.收件管理模块:收件人可以查询物流信息和快递员的基本信息,当收件人收到件后,再次查询之后这条物流信息显示已签收并且可以评价此次送件人员;
3.网点管理:用户可以自己选择所在地然后查询附近有没有相关网点;
4.新闻动态模块:用户能够浏览与网站相关的新闻和公司的公告;
5.时效和资费:用户可以根据始发地、目的地和物品重量来支付费用和查询时效费用是由平台自己计算出的;
6.损失赔偿业务:用户可以申请赔偿,待管理员同意以后可以支付费用。
7.业务咨询:用户可以根据输入自己想要了解业务的关键词来获取业务相关信息。
(2)管理员模块:
1.网点管理:管理员可以增加、修改、删除各个网点的信息;
2.新闻动态模块:管理员能够编辑新闻和公告并发布;
3.快递公司及各下属业务员的管理:管理员可以增加、修改、查询员工所派发的地区范围和员工的基本信息;
4.损失赔偿业务:管理员可以审阅同意用户的赔偿的请求;

数据库设计

[表didian] 地点列属性表格

序号字段名称数据类型长度主键描述
1ddidINTEGER11地点编号
2ddVARCHAR40地点

[表wangdian] 网点列属性表格

序号字段名称数据类型长度主键描述
1wdidINTEGER11网点编号
2wdmcVARCHAR40网点名称
3dzVARCHAR40地址
4szddVARCHAR40所在地点

[表yonghu] 用户列属性表格

序号字段名称数据类型长度主键描述
1yhidINTEGER11用户编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表kdy] 快递员列属性表格

序号字段名称数据类型长度主键描述
1kdyidINTEGER11快递员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址
7wdVARCHAR40网点

[表xinwen] 新闻列属性表格

序号字段名称数据类型长度主键描述
1xwidINTEGER11新闻编号
2btVARCHAR40标题
3nrVARCHAR40内容
4fbsjVARCHAR40发布时间

[表ywjs] 业务介绍列属性表格

序号字段名称数据类型长度主键描述
1ywjsidINTEGER11业务介绍编号
2btVARCHAR40标题
3nrVARCHAR40内容

代码设计 

	
	@RequestMapping(value="/add")
	public String add(kdy kdy,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		//String name=(String)request.getParameter("name");

		map.put("kdyid", kdy.getKdyid());//快递员编号

		map.put("yhm", kdy.getYhm());//用户名

		map.put("mm", kdy.getMm());//密码

		map.put("xm", kdy.getXm());//姓名

		map.put("lxdh", kdy.getLxdh());//联系电话

		map.put("lxdz", kdy.getLxdz());//联系地址

		map.put("wd", kdy.getWd());//网点



		String kdyid=(String)kdy.getKdyid();//快递员编号

		String yhm=(String)kdy.getYhm();//用户名

		String mm=(String)kdy.getMm();//密码

		String xm=(String)kdy.getXm();//姓名

		String lxdh=(String)kdy.getLxdh();//联系电话

		String lxdz=(String)kdy.getLxdz();//联系地址

		String wd=(String)kdy.getWd();//网点
		
		
		String sql="select count(1) as num from kdy where yhm='"+yhm+"'";
		ResultSet rs=null;
		DBO db=new DBO();
		int num=0;
		try{
			rs=db.query(sql);
			if(rs.next()){
				
				num=rs.getInt("num");
			}
			if(num>0){
				request.setAttribute("msg", "<script>alert('添加失败、用户名重复');</script>");
			}else{
				
				kdydao.save(map);
				
				
				request.setAttribute("msg", "<script>alert('添加成功');</script>");
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		
	

		System.out.println("addok");
		return "kdy/kdyadd";
	}
	
	/**删除 
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();
		String a=(String)request.getParameter("keyid");
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		kdydao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改kdy信息
	 */
	@RequestMapping(value="/update")
	public String update(kdy kdy,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("kdyid", kdy.getKdyid());//快递员编号

		map.put("yhm", kdy.getYhm());//用户名

		map.put("mm", kdy.getMm());//密码

		map.put("xm", kdy.getXm());//姓名

		map.put("lxdh", kdy.getLxdh());//联系电话

		map.put("lxdz", kdy.getLxdz());//联系地址

		map.put("wd", kdy.getWd());//网点



		String kdyid=(String)kdy.getKdyid();//快递员编号

		String yhm=(String)kdy.getYhm();//用户名

		String mm=(String)kdy.getMm();//密码

		String xm=(String)kdy.getXm();//姓名

		String lxdh=(String)kdy.getLxdh();//联系电话

		String lxdz=(String)kdy.getLxdz();//联系地址

		String wd=(String)kdy.getWd();//网点

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		kdydao.update(map);
		return selectall(null,map1,request);
	}
	


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmzzkd.sql,系统名称ssmzzkd
    4、系统首页地址:http://127.0.0.1:8080/ssmzzkd/shouye.jsp
 四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/342755.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql 导入数据 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘

前言: mysql 导入数据 遇到这个错误 1273 - Unknown collation: utf8mb4_0900_ai_ci 具体原因没有深究 但应该是设计数据库的 字符集类型会出现这个问题 例如: char varchar text..... utf8mb4 类型可以存储表情 在现在这个时代会用很多 以后会用的更多 所以不建议改…

【BBuf的CUDA笔记】十三,OpenAI Triton 入门笔记一

0x0. 前言 2023年很多mlsys工作都是基于Triton来完成或者提供了Triton实现版本&#xff0c;比如现在令人熟知的FlashAttention&#xff0c;大模型推理框架lightllm&#xff0c;diffusion第三方加速库stable-fast等灯&#xff0c;以及很多mlsys的paper也开始使用Triton来实现比…

【C++】string的基本使用二

我们接着上一篇的迭代器说起&#xff0c;迭代器不只有正向的&#xff0c;还有反向的&#xff0c;就是我们下边的这两个 它的迭代器类型也是不同的 rbegin就是末尾&#xff0c;rend就是开头&#xff0c;这样我们想遍历一个string对象的话就可以这样做 int main() {string s1(…

flask+ansible 打造自己的自动化运维平台

一、前言 随着企业信息化要求越来越高&#xff0c;云化架构带来挑战和冲击&#xff0c;海量设备的运维压力也是越来越大&#xff0c;虽然有了批量操作工具&#xff0c;但自动化运维工具操作主要还是依赖于手工执行&#xff08;脚本小子&#xff09;&#xff0c;手工执行又存在着…

云计算管理-linux

1.权限 基本权限与归属 访问权限 读取&#xff1a;允许查看内容-read r 写入&#xff1a;允许修改内容-write w 可执行&#xff1a;允许运行和切换-excute x 对于文本文件&#xff1a; r读取权限&#xff1a;cat、less、grep、head、tail w写入权…

推荐在线PS修图网页版工具PHP网站源码

在线PS修图网页版工具PHP网站源码&#xff0c;PHP在线照片图片处理PS网站程序源码photoshop网页版。 有很多朋友们都是在用PS作图的&#xff0c;众所周知在使用和学习PS时是需要下载软件的&#xff0c;Photoshop软件对电脑配置也是有一定要求的&#xff0c;今天就为大家带来一…

消息队列RabbitMQ.01.安装部署与基本使用

目录 RabbitMQ的作用 Message queue 释义 问题思考 存在的问题 优化方案 案例分析 带来的好处 消息队列特点 Email邮件案例分析 Docker安装部署RabbitMQ 1.下拉镜像 2.运行RabbitMQ 3.打开防火墙端口号并重新运行防火墙 4.容器启动后,可以通过 docker logs 容器 查…

TCP和SSL/TLS 协议通信原理

&#x1f47d;System.out.println(“&#x1f44b;&#x1f3fc;嗨&#xff0c;大家好&#xff0c;我是代码不会敲的小符&#xff0c;双非大四&#xff0c;Java实习中…”); &#x1f4da;System.out.println(“&#x1f388;如果文章中有错误的地方&#xff0c;恳请大家指正&a…

Python | 七、栈 Stack、队列 Queue

栈的基础知识 是一种数据结构&#xff0c;在Python中常使用列表来模拟实现特点&#xff1a;先进后出 栈的基本操作 因为Python中通过列表模拟实现栈&#xff0c;所以以下的基本操作实际是列表的一些操作获取长度&#xff0c;使用len(stack)方法进栈&#xff0c;使用stack.app…

自然语言处理的崛起:从初步分析到深度理解

自然语言处理&#xff08;NLP&#xff09;是计算机科学、人工智能和语言学的交叉领域&#xff0c;旨在让计算机能够理解和生成人类语言。随着时间的推移&#xff0c;NLP 经历了一系列革命性的变化&#xff0c;从简单的规则和模式匹配到如今的深度学习模型&#xff0c;它们使计算…

API调试?试试Apipost

你是否经常遇到接口开发过程中的各种问题&#xff1f;或许你曾为接口测试与调试的繁琐流程而烦恼。不要担心&#xff01;今天我将向大家介绍一款功能强大、易于上手的接口测试工具——Apipost&#xff0c;并带你深入了解如何玩转它&#xff0c;轻松实现接口测试与调试。 什么是…

Mysql索引的初步认识

索引基本概念 1、什么是MySQL 索引 索引是一个排序的列表&#xff0c;在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先通过索引表找到该行数…

怎么把一个已经压缩好的大容量的压缩包,分卷后发给别人

环境&#xff1a; Win10 专业版 7Z 360压缩 问题描述&#xff1a; 怎么把一个已经压缩好的大压缩包&#xff0c;分卷 解决方案&#xff1a; 使用压缩软件&#xff1a;许多常用的压缩软件&#xff0c;如WinRAR、7-Zip等&#xff0c;都支持将大的压缩包分卷压缩。您可以使…

Android状态栏布局隐藏的方法

1.问题如下&#xff0c;安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 package com.afison.newfault.utils;import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graph…

聚道云软件连接器实现航信与用友NC凭证对接,助力企业实现数字化转型

客户介绍&#xff1a; 某自然资源产业集团有限公司是一家专注于自然资源产业的领军企业。自成立以来&#xff0c;该企业始终致力于矿产资源、土地整理和生态修复等领域的业务发展。该企业凭借其卓越的业绩和良好的社会声誉&#xff0c;赢得了广泛的认可与赞誉。 客户痛点&…

8-Python 工匠:使用装饰器的技巧

Python 工匠&#xff1a;使用装饰器的技巧 前言 这是 “Python 工匠”系列的第 8 篇文章。[查看系列所有文章] 装饰器 (Decorator) 是 Python 里的一种特殊工具&#xff0c;它为我们提供了一种在函数外部修改函数的灵活能力。它有点像一顶画着独一无二 符号的神奇帽子&#x…

记一次低级且重大的Presto运维事故

本文纯属虚构&#xff0c;旨在提醒各位别犯类似低级错误。 如有雷同&#xff0c;说的就是你&#xff01; 文章目录 前言事件回顾后续总结 前言 首先&#xff0c;要重视运维工作和离职人员的交接工作&#xff0c;这个不必多说。一将无能&#xff0c;累死三军&#xff01; 接下来…

密码学的100个基本概念

密码学作为信息安全的基础&#xff0c;极为重要,本文分为上下两部分&#xff0c;总计10个章节&#xff0c;回顾了密码学的100个基本概念&#xff0c;供小伙伴们学习参考。本文将先介绍前五个章节的内容。 一、密码学历史 二、密码学基础 三、分组密码 四、序列密码 五、哈希…

springboot整合MongoDB实战

目录 环境准备 引入依赖 配置yml 注入mongoTemplate 集合操作 文档操作 创建实体 添加文档 查询文档 更新文档 删除文档 环境准备 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-da…

深度学习(3)--递归神经网络(RNN)和词向量模型Word2Vec

目录 一.递归神经网络基础概念 二.自然语言处理-词向量模型Word2Vec 2.1.词向量模型 2.2.常用模型对比 2.3.负采样方案 2.4.词向量训练过程 一.递归神经网络基础概念 递归神经网络(Recursive Neural Network, RNN)可以解决有时间序列的问题&#xff0c;处理诸如树、图这样…