SpringMVC

1 SpringMVC概述

        SpringMVC是一种基于java实现MVC模型的轻量级Web框架。

        优点:使用简单,开发便捷,灵活性强

2 Spring入门案例

2.1 导入坐标,导入Servlet配置

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
        </plugins>
    </build>

2.2 创建SpringMVC控制类

2.3 初始化SpringMVC环境

2.4 初始化Servlet程序,加载SpringMVC环境

简化开发:

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringmvcConfig.class};
    }

    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}

2.5 注解说明

2.6 SpringMVC开发总结

2.7 AbstractDispatcherServletInitializer类说明

3 Bean加载控制

方式二:spring扫描排除controller包内的Bean,注意这里SpringConfig和SpringMVCConfig不能放在同一个目录下

@Configuration
@ComponentScan(value = "com.itheima",
        excludeFilters = @ComponentScan.Filter(
                type = FilterType.ANNOTATION,
                classes = Control.class
        )
)
public class SpringConfig {

}




@Configuration
@ComponentScan("com.itheima.controller")
public class SpringmvcConfig {

}

Bean加载控制:

4 设置请求响应路径

5 get请求和post请求发送普通参数

解决POST乱码问题:

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringmvcConfig.class};
    }

    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    //解决乱码问题
    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        return new Filter[]{characterEncodingFilter};
    }
}

6 五种类型参数传递

若路径参数与函数参数名称不同:

public String save(@RequestParam("name") String username, String age)

6.1 普通参数传参

6.2 POJO实体类参数

6.3 嵌套POJO参数

6.4 数组参数

6.5  集合保存普通参数

7 json数据传递参数

7.1 添加Json数据转换坐标

7.2 设置发送类型为JSON

7.3 开启自动转换JSON数据的支持

7.4 设置接收JSON数据

7.5 注解说明

7.6 常用的两种JSON对象参数

7.7 RequestParam和RequestBody的区别

8 日期型参数传递

9 响应

9.1 响应页面

9.2 响应文本数据

9.3 响应json数据

9.4 响应json集合

9.5 @ResponseBody  激活类型的自动转换

     

10 REST风格

10.1 REST简介

        即表现形式转化。

        优点:

        1. 隐藏资源的访问行为,无法通过地址得知资源是何种操作

        2. 书写简化

10.2 RESTFUL入门案例

10.3 注解详解

10.4 小结

10.5 RESTFUL快速开发

10.6 基于RESTFUL页面数据交互

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值