SMBMS超市管理系统
SMBMS超市管理系统
环境搭建
注意设置jsp的头为<%@ page pageEncoding=“UTF-8”%>,解决中文乱码
欢迎页面
<welcome-file-list><welcome-file>login.jsp</welcome-file>
</welcome-file-list>
登录
- dao层和service层都需要实现接口和实现类分离
- 常用的变量可以提取在一个常量类
- dao层相当于定义数据
- service层进行静态实现
- servlet层完成动态交互
- 用户信息可以存储到seesion中,因为整个网站都会用到这个数据
注销和退出
只需要从seesion中删除你的用户信息就可以了,直接动态实现
初始过滤
没有登录就强制登录
//System.out.println(req.getContextPath());//Super//jsp页面获取,重定向时传递的参数
resq.sendRedirect(req.getContextPath()+"/login.jsp?error="+ URLEncoder.encode("请先登录,谢谢","utf-8"));
${param.get("error")}
修改密码
StrinUtils.isNullOREmpty(“newPassword”)
从seesion中找到用户对象,然后修改密码.
修改成功后seesion中删除用户信息.
将动态修改密码的servlet提取成一个方法,然后在原本的servlet中需要判断表单不为空(有值),且等于名字,实际就是保证表单正确,然后调用修改密码的方法.
原因是因为以后可能会从前端传递很多的表单过来,所以需要判断表单的正确性.
ajax验证密码
阿里的focjson依赖
直接从seesion中获取ajax传递过来的oldpassword
记得设置seesion的过期时间
用Map集合来存储数据,如果seesion中没有用户信息,就是用户不存在或者过期了.
然后依次判断旧密码不输入,输入错误和输入成功的可能性,都对应着ajax的sceess函数中的值,如map.put(“result”,“true”)
用户管理
封装是在实体类(属性私有,getset方法)的基础上,对set/get方法进行数据限定
页面工具类:pageUtil
dao层:根据用户名和用户角色查询数据库count.
用StringBuilter和Arraylist进行sql语句的拼接
可以给select字段设置别名,最后返回别名的数据就行了
用户管理列表
角色列表
去数据库查询,返回list列表
servlet层要判断:如果角色列表的值存在,就把这个值给真实的角色变量
获取参数,限定判断,调用dao,得到结果,返回前端
总共三个sql方法,servlet中获取数据,然后对应的传到前端
文件上传
表单需要设置一个属性来支持文件上传
请用post请求,因为get请求浏览器会限制请求数据的大小.
记得重写doPost()
jar包,common-io,fileupload
保证:外部不可访问:文件放在web-inf下,
用UUID或其他算法,使文件名唯一.
限制文件类型,最大值和判断后缀名合法性
jvm java栈和本地方法栈(native修饰的,由C或C++实现).
jni.h = java native interface
上传成功后去这里找文件
也就是target目录下的,你的项目中的,WEB-INF下
发送邮件
mail.jar(必须是javax.mail1.4.7版本,不然MailSSLSocketFactory会报错) 和activetion.jar ,抓包,请 求中有资源的 真实路径,直接访问就可以了,有时http会快一些
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version>
</dependency>
MIME就是附件(二进制文件)
Maven项目创建时,gav不能有中文
必须要有授权码,否则会报错:身份验证失败异常
java.util.concurrent.ExecutionException: javax.mail.AuthenticationFailedException: 502 Invalid input from 36.61.73.16 to newxmesmtplogicsvrsza8.qq.com
必须要有授权码,否则会报错:身份验证失败异常
java.util.concurrent.ExecutionException: javax.mail.AuthenticationFailedException: 502 Invalid input from 36.61.73.16 to newxmesmtplogicsvrsza8.qq.com
SMBMS超市管理系统相关推荐
- smbms超市管理系统项目总结
前言 跟着 遇见狂神说 javaWeb课程做的smbms超市管理系统项目 具体实现在项目中可看代码(无需收费)点击跳转到项目下载 一.smbms超市管理系统介绍 对于用户的信息存储,完成了用户登录验证 ...
- smbms(超市管理系统)源码 + 分析
在项目开始之前,我们首先要对项目的整体架构分析一下,该项目一共分为四个模块,登录注销.用户管理.订单管理.供应商管理,其中用户管理.订单管理以及供应商管理都是需要对数据库进行crud的.项目的整体架构 ...
- smbms超市管理系统数据库建表sql
```sql /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.7.17 : Database - smbms *************************** ...
- 狂神说smbms超市管理系统项目源码
视频地址:B站狂神说 视频用到的项目资源 链接:https://pan.baidu.com/s/1q4xh_m3_ASLwXtsOtwt06A 提取码:9hnf 下面我自己根据视频改过后的源码 Jav ...
- SMBMS 超市订单管理系统
SMBMS 超市订单管理系统 文章目录 前言 SMBMS 超市订单管理系统 项目搭建准备工作 1. smbms项目搭建 0.数据库: 1.搭建一个mavenWeb项目 2.配置Tomcat 3.测试项 ...
- JavaWeb项目smbms超市订单管理系统
项目简介 smbms超市订单管理系统,主要用于用户管理.订单管理.供应商管理等功能,是学习JavaWeb练习的一个小项目 这个博客只讲了部分功能(用户登录界面,和密码修改界面),以及用户管理的实现. ...
- JSP+Servlet+MySql超市管理系统项目源码
一. 开发背景 软件名称:超市管理系统(servlet+jsp) 使用对象:学习或了解过 java 基础课程,开始接触 javaWeb 的学生和软件爱好者 源码链接https://pan.baidu. ...
- 终于有人手把手用Java实现超市管理系统
今天我们根据GUI 界面写的简易计算器,实现加减乘除功能以及计算器标准型和科学型之间的转换,有兴趣可以看看 Java混合计算器以及界面切换 .这次咱们写的超市管理系统,实现的功能有账户的注册.登录,超 ...
- 基于Javaweb实现超市管理系统
本系统基于JSP和Servlet实现开发一套小型超市管理系统,功能完整,结构清晰,使用技术结构简单,系统介绍:大学校内超市管理系统,实现收银台,商品分类管理,商品库存管理,商品管理,营收统计等功能 运 ...
最新文章
- java 单字节_java文件读取。(单字节读取和按行读取读取)
- linux提示密码没有凑效,陈连福的生信博客 | 第16期培训班将于2021.01.23-2021.02.01期间在武汉市举办,提前报名有有优惠!...
- Leetcode之Database篇
- mongo执行逻辑表达式_MongoDB 常用查询操作
- afterclass_通过beforeClass和afterClass设置增强Spring Test Framework
- InnoDB文档笔记(三)—— Undo Log
- nokia n1 android 6,诺基亚推Nokia N1拥抱安卓,微软该怎么想?
- ZOJ 3490 String Successor
- java中不允许一个方法在自身定义的内部调用自己_Java面向对象三大特性(基础篇)...
- 伯克利弹跳机器人再进化:超精准着陆,指哪打哪
- webpack资源的输入与输出
- Markdown博客系统的搭建与使用
- C# 通过RS-232 读取 34401A万用表电压
- 搜索局域网内电脑共享文件的方法
- 专升本英语——语法知识——高频语法——第四节 定语从句(限制性定语从句-非限制性定语从句)【学习笔记】
- 计算机安装系统作用是什么,告诉你重装系统对电脑有什么影响
- Linux防火墙入门:基本观念(转)
- 8个强大的UI设计工具-设计师利器
- autocad2014 第二次打开闪退_cad2014闪退怎么解决win10_win10系统打开cad2014闪退的解决步骤...
- 内外兼修 A.O.史密斯燃气热水器新品开创新“静”界