一.模板技术

数据+模板 = 文本

认识模板技术
 常用的模板技术

freemarker 默认后缀 .ftl
    velocity 默认后缀 .vm

模板技术的作用

动态页面静态化(网站)
    代码生成器
    邮件或者短信等的模板

velocity的简单学习
 引入velocity

<dependency>
  <groupId>org.apache.velocity</groupId>
  <artifactId>velocity</artifactId>
  <version>1.6</version>
</dependency>

准备模板 - hello.vm

具体的语法大家可以去查看文档

## 我是一个没有感情的注释
${username},你好啊!!!
##对象数据获取
##$!:有数据就显示,没有数据就不显示(其它的没有数据会直接显示)
${employee.username} ====== ${employee.age}
$employee.username ====== $employee.age
$!employee.username ====== $!employee.age

##设置变量
#set($person = "汤木")
$person

## 集合
#set($names=["汤母", "吉瑞", "肉丝"])
<p>$names.get(1)</p>

<ul>
    #foreach($l in $names)
        <li>$l</li>
    #end
</ul>

velocity的Java代码

//测试默认就是项目根目录
    //数据 + 模板 = 输入文本
    @Test
    public void testHelloFile()throws Exception{
        //创建一个Velocity引擎
        VelocityEngine ve = new VelocityEngine();
        //获到到相应的模板
        Template template = ve.getTemplate("template/hello.vm","UTF-8");
        //创建模板上下文(装数据的东西)
        VelocityContext velocityContext = new VelocityContext();
        velocityContext.put("username","二狗");
        //准备对象,放到上下文中
        Employee employee = new Employee();
        employee.setUsername("三狗");
//        employee.setAge(45);
        velocityContext.put("employee",employee);

//准备输出的位置
        FileWriter fileWriter = new FileWriter("template/hello.html");
        //数据 + 模板 = 输入文本
        template.merge(velocityContext, fileWriter);

fileWriter.close();
    }

二.代码生成器:

生成模板的过程一定要注意细节,容易写错 一边写一边测试,预览.

easycode:就是一个idea的插件
    使用的前提是会velocity
    官方文档 : https://gitee.com/makejava/EasyCode/wikis/pages?sort_id=725069&doc_id=166248
    生成的文件位置,生成文件内容

三.权限:

两种权限:登录认证,权限认证

登录认证
步骤

如果没有登录这个人是游客
    游客会拿到令牌(用户名和密码)进行登录
    先验证用户名(如果错误报账号错误)
    验证密码(如果错误会报验证错误)
    还有一种是其它错误【异常,一般是你的代码有问题】
    登录成功就会把当前用户放到session中

注意点

以前是HttpSession,只能用于Web项目 -> shiro框架
    密码验证安全性很重要 -> MD5

权限认证

用户(n)-角色(n)-权限【资源】(n) image

转载于:https://my.oschina.net/u/4108556/blog/3071801

Spring集成Day4相关推荐

  1. Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  2. windows api中文文档_Web服务开发:Spring集成Swagger,3步自动生成API文档

    目录: 1,Spring Boot集成Swagger 2,Swagger接口文档页面 3,常见问题和解决方法 在Sping开发REST接口服务时,API文档是不可缺少的一个重要部分.Swagger框架 ...

  3. Spring集成spymemcached

    Spring集成spymemcached Memcached的安装部署我就不介绍了! 首先下载spymemcached,下载地址: jar:https://spymemcached.googlecod ...

  4. Liferay7 BPM门户开发之5: Activiti和Spring集成

    参考文档: https://github.com/jbarrez/spring-boot-with-activiti-example https://github.com/sxyx2008/sprin ...

  5. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  6. spring集成xmemcached

    2019独角兽企业重金招聘Python工程师标准>>> spring集成xmemcached <dependency><groupId>com.googlec ...

  7. Spring集成线程池

    自己在程序中手动New很容易造成线程滥用,创建线程也是比较消耗资源的操作,所以建议如果有此需求,将线程池统一交给Spring框架进行管理. 如下: <!--Spring 集成线程池,不允许自己开 ...

  8. MyBitis(iBitis)系列随笔之六:mybitis与spring集成

    目前Spring官方还没有出整合Mybatis的特性,但是mybitis比较给力,开发了一个mybatis-spring插件,达到与Spring的完美整合目的. 在与Spring集成前,一方面我们需要 ...

  9. JBPM4.4_jBPM4.4应用(与Spring集成自行控制事务等)

    1. jBPM4.4应用 1.1. 与Spring集成(jBPM4.4 Developers Guide, Chapter 17. Spring Integration) 1.1.1. 在jbpm.c ...

最新文章

  1. js 原生跨页面通信_DOM操作是跨线程的你知道吗?
  2. HDU 2149-Public Sale(巴什博奕)
  3. Kubernetes-Service服务(十一)
  4. Kafka消费者组内各消费者分区分配
  5. Java poi设置打开模式_java操作Excel的poi 格式设置
  6. 在Eclipse上安装pydev开发工具
  7. python程序中结束while循环的两种方法是_Python中while循环
  8. 10.11 cocoapods安装
  9. 【亲测有效】硬盘/分区修复教程
  10. 使用python爬取链家上海二手房信息的案例
  11. Android 使用Vector XML文件创建矢量图片资源
  12. DOTA2怎么清除缓存_第36期 只要一招:彻底重置Windows图标缓存
  13. 三角形周长最短问题_「初中数学」从三角形周长的最值问题说说解题策略
  14. bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)
  15. Java从入门到精通章节练习题——第六章
  16. 问题记录:系统还原后,QQ显示一直登录中,但却登录不上去,而且很多软件无法使用
  17. r语言lm函数找不到对象_怎么才能查看R语言某个包某函数源码?
  18. 家庭监控系统实现(一) -- 硬件准备及picamera使用
  19. 红黑树特点以及如何构建红黑树
  20. 全国计算机二级报名代码,关于计算机二级考试报名入口

热门文章

  1. DVWA环境搭建教程-手把手最详细介绍
  2. 家畜育种学(题库及答案)
  3. 禅说教育(之一)——百般说教不如帮人悟到
  4. AIS数据压缩-改进的DP算法(Improved DP algorithm)
  5. 阿松和阿柏无事闲聊互道岁月不饶人
  6. 国内和国外域名注册商介绍
  7. PDF的加密解密,解密后随便怎么玩
  8. NOI题库答案 (1.7 字符串基础)(1-20)
  9. php中{ifp}{ife}{ifpp}是什么意思、作用
  10. django-ckeditor配置使用markdown语法