SMBMS超市管理系统

SMBMS超市管理系统

环境搭建

注意设置jsp的头为<%@ page pageEncoding=“UTF-8”%>,解决中文乱码

欢迎页面

<welcome-file-list>
  <welcome-file>login.jsp</welcome-file>
</welcome-file-list>

登录

  1. dao层和service层都需要实现接口和实现类分离
  2. 常用的变量可以提取在一个常量类
  3. dao层相当于定义数据
  4. service层进行静态实现
  5. servlet层完成动态交互
  6. 用户信息可以存储到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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloses

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值