SPRINGMVC基础

导入JAR

WEB-XML中配置dispatcherservlet

springmvc.xml中配置注解扫描组件及视图解析器

@RequestMapping”/*/{id}”修饰方法和类,通过访问此注解中的属性值,自动调用被注                                    解类中的被注解的方法。属性有:value=”URL”

                                          method=”请求方式  params={“请求参数”}heads={“请求头”}

@PathVariable(“”)         支持占位符,将{id}占位符的值映射到被注解方法的参数中

RESTGET获取 POST新建 PUT更新 DELETE删除

              WEB.XML中配置HiddenHttpMethodFilter,通过在表单是添加隐藏域可将表单的POST请求转            DELETE或者PUT

@RequestParam参数名     不需要占位符,可直接将传过来的参数通过注解映射到                                                        方法的参数中,required属性来指定此参数是否必须有,                                                      defaultValue属性设置没有此参数时的默认值

@ RequestHeader文件头   将文件头中的值传入参数

@CookieValue(“cookiename”)    cookie传入参数

POJO  Spring会将表单和与之匹配的类自动匹配值(支持级联属性),直接操作此类的对                象,就能操作表单中的参数

可直接将原生SERVLET直接传入参数,包括:HttpServletRequest/HttpServletResponse

HttpSession/java.security.Principal /Local InputuStream/OutputStream/Reader/Writer

ModelAndView:     方法的返回值可存放在ModelAndView对象中,ModelAndView对象会自                       动将返回值存放在request域中,前台可通过EL表达式直接调用

Map Model:    可直接在方法中传入MapModel ModelMap类型的参数,Springmvc直接将参                       数转为ModelAndView类型放入request域中

@SessionAttributes{“入参”}只能用于类,会将入参同时存放在SessionRequest

                                          Value属性,存放指定名字的值 Type属性存放指定类型的值,                                             必须有@ModelAttribute 否则,会在运行时报异常。

@ModelAttribute   用于方法和入参,被标记的方法会在每个方法执行前被springmvc调用,

                            也可用于入参,实现绑定

通过表单修改对象属性值:

运行流程:    1、执行@ModelAttribute中修饰的方法(把从数据库取出的对象放入Map中)

                     2SpringmvcMap中取出对象,并将表单中参数赋给对象对应的属性(修                       改属性)

                     3Springmvc再将修改后的对象放入方法的参数中

注意:map.put();中的KEY值,应该与被@RequestMapping注解的方法中的参数名一致(否则表单中传入的值,无法通过参数名找到应该被修改属性的对象时,Springmvc会新建一个对象)

//直接调转到相应页面,无须经过                  Handler的方法

单文件上传:配置Commons-fileupload

                     在表单中加入enctype=”multipart/form-data”属性

                     在目标方法中加入multipartfile类的参数,并用@RequestParam表单中input               标签的name=”file””)注解

              通过common.io插件的FileUtils.copyInputStreamToFile(file.getInputStream(),new                  File(“c:\\```”)) 进行文件向c盘位置的上传

拦截器:

       编码格式拦截器:在WEB-XML配置Springmvc自带的CharacterEncodingFilter过滤器

       通过实现HandlerInterceptor接口编写拦截器

                     Springmvc配置文件中注册拦截器:

                    

                           

                                   拦截路径”> 

                                   编写的拦截器”>

                           

                    

       拦截器中三个重写的方法:preHandler    最先被调用,方法体中return false表示不再                                                                        继续往下运行,return true表示继续往下运行

                                                                      Object args 参数表示被拦截URLController                                                                     对象

                                                 postHandle  ModleAndViewargs参数

                                                 afterComplete 用于最后关闭资源处理异常等

MVC数据绑定

Date类型       1、如果指定方法的参数为Date类型,则需要在指定方法所属的类中另外写一               个绑定方法用@initBinder(“要绑定的参数”)

                     @initBinder”date”

                     Public voidinitDate(WebDateBinder binder){

                            Binder.registerCustomEditor(Date.class,new

                    CustomDateEditor(newSimpleDateFormate(“yyyy-MM-dd”),true));

                     }

                     2、通过配置BEAN---Formatter,String类型转化为T类型            

                     注册FormattingConversionServiceFactoryBean

                     3、通过配置BEAN---Converter,S类型转化为T类型

              以下步骤(同方法 2 )注册 FormattingConversionServiceFactoryBean ···

你可能感兴趣的:(框架)