SpringBoot:web项目的细节

SpringBoot:web项目的细节,第1张

SpringBoot:web项目的细节

目录

DAO层模拟数据库

设置拦截器

前端代码的抽取复用

thymeleaf的实际应用

if三元关系表达式的使用

#dates的使用

th:href 带有参数的形式

springboot 404页面的设置

用户注销

表单日期数据上传


DAO层模拟数据库

使用map集合存储即可,增删改查均是对map的 *** 作

@Repository
public class departemtDao {
    private static Mapmap=null;
    static {
        map=new HashMap();
        map.put(1,new department(1,"教育部"));
        map.put(2,new department(2,"学生部"));
        map.put(3,new department(3,"后勤部"));
    }
    //通过id查询
    public department getById(Integer id){
        department department = map.get(id);
        return department;
    }
    //查询所有
    public Collection findAll(){
        Collection values = map.values();
        return values;
    }
}
设置拦截器

当不登陆时,不允许访问其它页面

自定义拦截器

public class LoginHandlerInterceptor implements HandlerInterceptor {
//    重写方法,根据条件判断是否放行
//    判断条件 session中loginUser属性是否为空
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        Object loginUser = request.getSession().getAttribute("loginUser");
        if(loginUser==null){
            request.setAttribute("msg","请先进行登录");
            request.getRequestDispatcher("/index.html").forward(request,response);
            return false;
        }else {
            return true;
        }

    }
}

在mvcConfig中配置拦截器

@Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginHandlerInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns("/index.html","/","login.html","/css/**","/js/**","/img/**","/fonts/**","style.css","favicon.ico","/login");
    }
  • 拦截的路径是/**
  • 释放的路径是 静态资源、登录页面、以及涉及到的url
前端代码的抽取复用

将共同的代码抽取到一个html中,文件是commons/common.html

注意

  • 不需要使用head、body标签
  • 使用的属性是th:fragment



    

复用代码

使用的属性是th:replace   语法是~{ }

 
thymeleaf的实际应用 
if三元关系表达式的使用 

根据数据判断性别,进行相应的回显

 
#dates的使用 

为日期类规定格式进行回显

 
th:href 带有参数的形式 

转发的同时,还要把id传过去

编辑

访问的路径是:http://localhost:8080/update.html?id=1001

springboot 404页面的设置
  • 在templates文件夹下创建error文件
  • 在该文件夹内添加404.html

完成这两步就可以,springboot就会自动配置了

 运行效果图

用户注销

原理:清空session

@GetMapping("/loginout")
    public String logout(HttpSession session){
        session.invalidate();
        return "redirect:/index.html";

    }
表单:日期数据上传

使用html原生方式

 

提交表单后,后台获取数据,需要使用注解进行日期格式的转换

@Data @AllArgsConstructor @NoArgsConstructor
public class staff {
    private Integer id;
    private String name;
    private String email;
    private Integer sex;
    private department department;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birth;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5697822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存