当前位置: 首页 > wzjs >正文

各大网站注册建立网站后还要钱吗

各大网站注册,建立网站后还要钱吗,深圳信用网官网,数字营销技术应用中级实训答案基于 Spring Boot 瑞吉外卖系统开发(二) 员工登录功能实现 员工登录页面login.html存放在/resources/backend/page/login目录下。 启动项目,在浏览器中通过地址“http://localhost:8080/backend/page/login/login.html”访问员工登录页面。…

基于 Spring Boot 瑞吉外卖系统开发(二)

员工登录功能实现

员工登录页面login.html存放在/resources/backend/page/login目录下。
启动项目,在浏览器中通过地址“http://localhost:8080/backend/page/login/login.html”访问员工登录页面。
在这里插入图片描述
按下快捷键F12打开浏览器调试工具后,单击“登录”按钮,浏览器抓取到登录的请求信息。
在这里插入图片描述

定义Mapper接口

自定义的Mapper接口可以继承BaseMapper获得通用的增删改查功能。
在项目的src/main/java目录下创建com.itheima.reggie.mapper包,在该包下创建员工Mapper接口EmployeeMapper。

@Mapper
public interface EmployeeMapper extends BaseMapper<Employee> {}

定义Service接口

public interface EmployeeService extends IService<Employee> {
}

定义Service实现类

@Service
public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, Employee> implements EmployeeService {}

定义Controller类

@RestController
@RequestMapping("/employee")
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@PostMapping("/login")public R<Employee> login(@RequestBody Employee employee, HttpServletRequest request){//1.将页面提交的密码password进行MD5加密处理String password = employee.getPassword();password = DigestUtils.md5DigestAsHex(password.getBytes());//2.根据页面提交的用户名username查询数据库QueryWrapper<Employee> query = new QueryWrapper<>();query.eq("username", employee.getUsername());Employee one = employeeService.getOne(query);//3.如果没有查询到员工信息或者密码不正确,则返回登录失败结果if(one==null || !one.getPassword().equals(password)){return R.error("用户名或密码错误");}//4.查看员工状态,如果为已禁用状态,则返回员工已禁用结果if(one.getStatus() == 0){return R.error("账号已禁用");}//5.登录成功,将员工Id存入Session并返回员工信息request.getSession().setAttribute("loginEmployee", one);return R.success(one);}
}

登录功能测试

启动项目,在浏览器中通过地址“http://localhost:8080/backend/page/login/login.html”访问员工登录页面,在登录页面使用错误的账号或密码进行登录。
在这里插入图片描述
使用正确的账号和密码进行登录。
在这里插入图片描述

登录拦截功能

管理端的员工登录已经实现完成,但是此时员工如果不登录,也可以直接访问管理端的其他页面。
对此,可以使用拦截器对请求进行拦截判断,判断员工是否已经完成登录,如果没有登录则跳转到登录页面。
com/itheima/reggie/config/LoginInterceptor.java

public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object loginEmployee = request.getSession().getAttribute("loginEmployee");if  (loginEmployee == null) {//未登录,返回登录页response.sendRedirect("/backend/page/login/login.html");return  false ; //不放行}return  true ; //放行}}

com/itheima/reggie/config/WebMvcConfig.java中注册拦截器,并设置拦截的路径。

    /*** 员工登录拦截器* @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/backend/page/**","/backend/index.html").excludePathPatterns("/backend/page/login/login.html");}

这里拦截器只设置了拦截前端的页面,真实开发后端接口也需要拦截。

至此,员工没有成功登录的话,访问其他路径都会自动跳转到登录页面。

员工退出登录

员工登录成功后,会将对应的员工信息存入到Session中,以记录员工的登录状态。相反,如果想要实现员工退出,则可以在收到退出请求后,将当前员工存放在Session中的信息清除即可。
/controller/EmployeeController.java 添加logout方法。

    @PostMapping("/logout")public R<String> logout(HttpServletRequest request){request.getSession().removeAttribute("loginEmployee");return R.success("退出成功");}

至此,点击后台首页右上角退出按钮进行退出。
在这里插入图片描述

http://www.dtcms.com/wzjs/541999.html

相关文章:

  • 深圳网站建设认准乐云环球中心建于哪一年
  • 烟台市牟平区建设局网站网站重复页面
  • 网站配色方案定制科技软件
  • 免费云建站wordpress导入火车头
  • 哈尔滨可以做网站的公司网页编辑文档
  • 网站建设技术服务计入什么科目网站建设拍金手指排名贰贰
  • 大连里程科技做网站网站建设合同应注意
  • 制作论坛做网站山东城市建设职业学院教务网网站
  • 建立网站备案需要什么资料在虚拟主机上建设多个网站
  • 设计网站推荐知乎自建网站代理服务器
  • 那些网站可以做淘宝店铺推广电子商务师证报考官网
  • 一站式服务工作总结网站服务器有哪些类型有哪些类型有哪些类型有哪些类型有哪些
  • 网站有了如何做推广小程序推广app
  • 济南网站搜索排名铜陵高端网站建设
  • 外贸展示型模板网站tikiwiki 与Wordpress
  • js网站统计源码资源下载站
  • 厦门网站建设那家好网站评论怎么做的
  • 网站建设次年续费合同找人做个网站建设制作报价方案
  • 备案价网站台州网页设计招聘
  • 健康网站可以做推广吗专业建站公司提供详细的功能描述及报价
  • 做游戏人设计网站字体设计分析
  • 医院网站建设标书.net 门户网站
  • 国外网站建设现状erp系统华为
  • 制作网站要花多少钱网页设计与制作案例教程第二版
  • 网站 建设设计方案重庆今天刚刚发生的新闻
  • 瓷砖网站建设做网站推广的优势
  • 白云定制型网站建设网络黄页进入有限公司
  • 工程行业招聘网站科技有限公司和商贸有限公司区别
  • 最好的公文写作网站人工智能建筑设计软件
  • 外贸网站推广计划书wordpress上传视频黑屏