1.配置静态资源映射
配置文件使用的都是配置类方式
创建配置类WebMvcConfig,设置静态资源映射
用于在Springboot项目中, 默认静态资源的存放目录为 : "classpath:/resources/", "classpath:/static/", "classpath:/public/" ; 而在我们的项目中静态资源存放在 backend, front 目录中, 那么这个时候要想访问到静态资源, 就需要设置静态资源映射
@Slf4j @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { /** * 设置静态资源映射 * @param registry */ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info("开始进行静态资源映射..."); registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/back end/"); registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/ "); } }
2.登录后台代码验证
@Slf4j
@RestController
//@Controller + @ResponseBody = @RestController
//@ResponseBody 注解是将返回的数据结构转换为 Json 格式
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@PostMapping("/login")
/*@RequestBody 注解用于接收前端传来的实体,接收参数也是对应的实*/
public R<Employee> login(HttpServletRequest request, @RequestBody Employee employee) {
//1.加密密码
String password = employee.getPassword();
password = DigestUtils.md5DigestAsHex(password.getBytes());
//2.数据库查询
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Employee::getUsername, employee.getUsername());
Employee emp = employeeService.getOne(queryWrapper);
//3.如果没有查询到则返回登录失败结果
if (emp == null) {
return R.error("登录失败");
}
//4、密码比对,如果不一致则返回登录失败结果
if (!emp.getPassword().equals(password)) {
return R.error("登录失败");
}
//5、查看员工状态,如果为已禁用状态,则返回员工已禁用结果
if (emp.getStatus() == 0) {
return R.error("账号已禁用");
}
//6、登录成功,将员工id存入Session并返回登录成功结果
request.getSession().setAttribute("employee", emp.getId());
return R.success(emp);
}
3.通用结构类R
此类是一个通用结果类,服务端响应的所有结果最终都会包装成此种类型返回给前端页面文章来源:https://www.toymoban.com/news/detail-704055.html
。文章来源地址https://www.toymoban.com/news/detail-704055.html
@Data public class R<T> { private Integer code; //编码:1成功,0和其它数字为失败 private String msg; //错误信息 private T data; //数据 private Map map = new HashMap(); //动态数据 public static <T> R<T> success(T object) { R<T> r = new R<T>(); r.data = object; r.code = 1; return r; } public static <T> R<T> error(String msg) { R r = new R(); r.msg = msg; r.code = 0; return r; } public R<T> add(String key, Object value) { this.map.put(key, value); return this; }
到了这里,关于第一天 关于项目遇到的问题和缺少的知识点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!