MVC笔记整理

    科技2025-01-13  7

    MVC笔记整理

    ##SpringMVC笔记整理 MVC部分组件: 1,前端控制器(dispatcherServlet) 2,处理器映射器(handlerMapping), 3,处理器(handler), 4,视图解析器(view Resolver), 5,视图(view) 其执行过程大致为:

    环境搭建:     web.xml:用spring提供的dispatcherServelt类配置servlet     xml配置文件:1,注解扫描-------context:component-scan                             2,视图解析器------bean对象,其类为InternalResourceViewResolver(其用将返回的字符串转换成相应的文件名,并跳转                            3,开启springMVC框架注解的支持---------------mvc:annotation-driven(配置该标签,将自动加载处理器适配器和处理器映射器) 请求参数的绑定:     1,请求参数的绑定说明:             1,绑定机制                     1,表单提交的数据都是k=v格式的,如usename=haha&password=123                     2,SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制中方法的参数进行绑定的                     3,要求:提交表单的name和参数名称是相同的             2,支持的数据类型                     1,基本数据类型和字符串类型                     2,实体类型(javaBean)                     3,集合数据类型(list,map集合等)     2,基本数据类型和字符串类型             1,提交表单的name和参数的名称是相同的             2,区分大小写     3,实体类型(javaBean)             1,提交表单的name和javaBean中的属性名称须一致(注意方法的形参需是对应的实体类型)             2,如果一个javaBean类中包含其他引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name(其中address是所包含的引用类型的变量名)     4,给集合属性数据封装             1,如果javaBean包含集合类型,那么表单的name属性需要编写成:集合类型[下标].属性,例如:list[0].name(MVC会将name属性封装到相应的JavaBean对象,然后将对象添加到list中) 注解:     1,@RequestMapping( 注意以下四个属性只要出现2个或2个以上时,他们之间关系是与的关系)                 作用:用于建立请求URL和处理请求方法之间的对应关系,                 位置:可放在类和方法上,区别为一级路径和二级路径                 属性:                             1,value:用于指定请求的URL和path属性一致                             2,method:用于指定骑牛的方式,如:method={RequestMethod.post},则只能接受post请求方式的                             3,params:用于限制请求参数的条件,他支持简单的表达式,要求请求参数的key和value必须和配置一致                                             如:params={"accountName"},表明请求参数必须有accountName                                                    params={"money!100"}表明其你去参数中的money不能是100                             4,headers:用于指定限制请求消息头的条件,即发送消息中必须包含该请求头,和method用法类似     2,@RequestParams(形参前)                 作用:把请求中指定名称的参数给控制器中的参数赋值(常用于解决表单与形参名称不一致的情况)                 属性:                             1,value:请求参数中的名称,name属性作用和value一致                             2,required:请求参数中是否必须提供此参数,默认值为true,表示必须提供,如果不提供则报错     3,@RequestBody(形参前)                 作用:用于获取请求体内容,直接使用得到的是key=value&key=value....结构的数据                 属性:                             1,required:是否必须有请求体,默认值是true,当取值为true时,get请求方式会报错,如果取false,get请求得到的是null。     4,@PathVarible(形参前)                 作用:用于绑定URL的占位符,例如:请求URL中/delete/{id},这个id就是URL的占位符,是rest风格URL的一个重要标志(个人看法:这样写有利于隐藏属性,具有一定安全性)                 属性:                             1,value:用于指定URL中占位符名称                             2,required:是否必须提供占位符     5,RequestHeader(形参前)                 作用:用于获取请求消息头(注:实际开发中很少用到)                 属性:                             1,value:提供消息头的名称                             2,required:是否必须有此消息头     6,CookieValue(形参前)                 作用:用于指定cookie名称的值传入控制器方法参数(注:实际开发中很少用到)                 属性:                             1,value:指定cookie的名称                             2,required,是否必须有此cookie     7,@ModelAttribute                 位置:方法,参数                 作用:出现在方法上,表示当前方法会在控制器的方法执行之前执行,它可以修饰在没有返回值的方法,也可以修饰有具体返回值的方法。                             出现在参数上,获取指定数据给参数赋值                 属性:                             1,value:用于获取数据的key,key可以是pojo的属性名称,也可以是map结构的key                 应用场景:当表单提交数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据     8,@SessionAttribute(可以和model配合)                 位置:只能作用于类上                 作用:用于多次执行控制器方法间的参数共享                 属性:                             1,value:用于指定存入的属性名称                             2,type:用于指定存入的数据类型 注意 后台方法void可能会报错,因为MVC默认会返回方法名称作为文件名,但若是没有则会报错 (剩下的一些用法和配置就没整理了,如文件上传,拦截器,异常处理器等)
    Processed: 0.019, SQL: 8