SpringMVC (1)

SpringMVC:

一、RequestMapping

        1、在方法上使用@RequestMapping注解来映射请求的URL

                返回值会通过视图解析器解析为实际的物理视图,前缀+返回值+后缀,然后转发。

                @RequestMapping既可以修饰方法,也可以修饰类,

                类定义处:提供初步的请求映射,对应WEB应用的根目录

                方法定义处:提供进一步的细节映射信息

        2、@RequestingMapping()中的value,method,

                value指定请求URL

                method指定请求方式:method = RequestMethod.POST.......

                params指定请求参数,支持表达式:

                        param1:请求必须包含名为param1的请求参数

                        !param1:不能包含命名为这个的请求参数

                        param1!=value1:必须包含名为param1的参数,但其值不能是value1

                        {"param1=value1","param2"}:必须包含param1,param2,且param1的值必须为value

                heads指定请求头

                了解:

                        可以使用params和headers来更加精确的映射请求,params与headers支持简单

                    的表达式。

        3、@RequestMapping()映射URL时支持通配符,通配符需要使用Ant风格,

                Ant风格资源地址 支持3种匹配符:

                        ?:匹配文件名中的一个字符

                        * :匹配文件名中的任意字符

                        ** : **匹配多层路径

        4、@PathVariable可以来映射URL中的占位符到目标方法的参数中。


        5、REST风格:(资源)表现层转化,最流行的一种互联网软件架构

            HTTP 协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。

    它们分别对应四种基本操作:

                GET 用来获取资源POST 用来新建资源PUT 用来更新资源DELETE 用来删除。


        Rest风格的URL:

                以CRUD为例:

                    新增:  /order    POST

                    修改:  /order/1    PUT            update?id=1

                    获取:  /order/1    GET            get?id = 1

                    删除:  /order/1    DELETE      delete?id=1

                如何发送delete与put请求?

                    1.    需要配置hiddenHttpMethodFilter

                    2.    需要发送POST请求

                    3.    需要在发送POST请求时携带一个name="_method"的隐藏域,值为DELETE                      或PUT

                在SpringMVC的目标方法中如何得到id呢?

                    使用@PathVariable注解即可。

            6、使用@RequestParam绑定请求参数值

                @RequestParam来映射请求参数:

                        value    值即请求参数的参数名

                        required    该请求是否必须,默认为 true

                        defaultValue    请求参数的默认值



          7、@RequestHeader映射请求头信息

                用法同@RequestParam



          8、@CookieValue映射一个Cookie值,属性同@RequestParam


          9、Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性

    值。支持级联属性。

        如:dept.deptId、dept.address.tel 等


          10、可以使用Serlvet原生的API作为目标方法的参数,具体支持以下类型:

                HttpServletRequest

                HttpServletResponse

                HttpSession

                java.security.Principal

                Locale

                InputStream

                OutputStream

                Reader

                  Writer


你可能感兴趣的:(SpringMVC (1))