SpringBoot WEB学习笔记 2018-08-11

SpringBoot学习笔记2018-08-11

引入静态资源

1.WebJars

导入jquery之类的东西

例:
在webjars中找到maven的依赖并添加
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1-1</version>
</dependency>

启动SpringBoot访问

2.静态资源路径

"/**" 访问当前项目的任何资源, 静态资源的文件夹

"classpath: /META-INF/resources/",
"classpath: /resources/",
"classpath: /static/",
"calsspath: /public/"
"/": 当前项目的根路径


自定义静态文件夹

spring.resources.static-locations=classpath:/public

3.模板引擎

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。

说白了就是将 页面 和 后端生成的数据 组合起来的工具

4.使用 thymeleaf

导入 pom文件的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>2.0.4.RELEASE</version>
</dependency>

页面的国际化

SpringMVC的国际化

  1. 编写国际化配置文件
  2. 使用ResourceBundleMessageSource管理国际化资源文件
  3. 在页面使用fmt:message取出国际化内容

SpringBoot的国际化

1.编写国际化配置文件

例:
1.在Rescource下建立international目录
2.建立三个国际化配置文件
    login.properties
    login_en_US.properties
    login_zh_CN.properties
3.分别写好三个国际化配置文件的内容

2.SpringBoot默认配置了国际化的组件

在配置文件中添加国际化配置文件路径
spring.messages.basename=international.login

3.注意乱码问题

在idea的setting中设置编码

4.使用LocaleResolver解决国际化

例:
public class MyLocalResolver implements LocaleResolver {

    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        String l = httpServletRequest.getParameter("l");
        Locale locale = Locale.getDefault();
        if  ( !StringUtils.isEmpty(l)){
            String[] split = l.split("_");
            locale = new Locale(split[0], split[1]);
        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {

    }
}

@Configuration
public class MvcConfig implements WebMvcConfigurer {
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocalResolver();
    }
}

登录

1.禁用模板引擎的缓存

spring.thymeleaf.cache=false

2.修改页面之后使用 ctrl + F9 刷新页面

3.拦截器实现登录检查

例:
public class LoginIntercepter implements HandlerInterceptor {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException, IOException {
    Object user = request.getSession().getAttribute("user");
    if (user == null){
        request.setAttribute("message","请登录");
        request.getRequestDispatcher("/index").forward(request,response);

        //response.sendRedirect("/index");
        return false;
    }else{
        return true;
    }
}

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
}

@Override
public void afterCompletion(HttpServletRequest request, HttpSer8/12/2018 3:04:10 PM vletResponse response, Object handler, Exception ex) {
}



配置写好的拦截器
return new WebMvcConfigurer(){
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("/index");
        registry.addViewController("/index").setViewName("/index");
        registry.addViewController("/dashboard").setViewName("/dashboard");
    }


    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginIntercepter()).addPathPatterns("/**").
                excludePathPatterns("/index",
                "/","/webjars/**","/asserts/**","/login/user");
    }
 };

Restful风格 CRUD

1.Restful CRUD


普通 CRUD

查询 getEMP, 添加 addEMP?xxx, 修改 updateEMP?id=xxx, 删除deleteEMP?id=1


Restful CRUD

查询 emp–GET, emp–POST, emp(id)–PUT, emp(id)–DELETE

2. 请求架构

对应的操作 ===== 请求URI ===== 请求方式

查询所有员工 ===== emps ===== GET

查询某个员工 ===== emp/1 ===== GET

添加员工 ===== emp ===== GET

来到修改页面 ===== emp ===== POST

修改员工 ===== emp ===== PUT

删除员工 ===== emp/1 ===== DELETE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值