Spingmvc

1.springmvc概述 概述 一款表现层MVC框架.常用版本:4.x . 类似框架struts.资源地址www.spring.io
springMVC :
1.springMVC的加载核心控制器:DispatcherServlet.
内部: 1.1:初始化方法中将进行各种组件解析器的加载.
initMultipartResolver(context); initLocaleResolver(context); initThemeResolver(context); initHandlerMappings(context); initHandlerAdapters(context); initHandlerExceptionResolvers(context); initRequestToViewNameTranslator(context); initViewResolvers(context);
initFlashMapManager(context);
2. HandlerMappings核心组件:创建映射器: 将客户端的请求地址 。 用于匹配所有的@RequestMapping注解地址.如果没有自定义的解析器将采用默认的: BeanNameUrlHandlerMapping.
3. HandlerAdapters适配器: 可以负责调用找到的Controller对象和方法。默认适配器: SimpleControllerHandlerAdapter
4. ViewResolvers: 视图解析器,当用户响应视图时,用作视图页面的解析展示。 默认视图解析器: InternalResourceViewResolver.
所有的用户请求都将在DispatcherServlet中的doService()方法中实现:
1.匹配器的匹配.
2.匹配成功后的适配器调用.
3.返回结果视图解析器的解析.
4.最终由DispatcherServlet完成响应.
2.第一个springmvc程序
2.1搭建项目环境.导入jar包.
2.2编写Controller与jsp.10
2.3编写核心配置SpringMVC.xml.
2.4编写web.xml配置前端控制器.Springmvc的加载控制器: DispatcherServlet
2.5测试请求响应.
3.springmvc请求参数映射.
3.1:直接封装到基本类型包装类对象参数上. 3.2:@RequestParam修饰参数实现封装并提供设置.
3.3:封装参数到实体对象中.
3.4:封装到数组中. 如果集合,在实体类中属性形式封装.
3.5:封装接收客户端参数: 采用原始办法: HttpServletRequest 实现获取参数.
4.springmvc响应数据与响应页面(涉及ajax请求与json响应)
4.1:ModelAndView
4.2:return“page”/”redirect:page”/”forward:page”
4.3:request / response
4.4ModelAndView.
4.5:Model/ModelMap
4.6:@ModelAttribute(“u1”)
4.7:servletAPI. HttpServletRequest , HttpServletResponse , HttpSession, 4.8:@ResponseBody可以直接返回
4.9:响应对象,集合,json字符串. 注: jackson-annotations-2.4.0.jar/jackson-core-2.4.2.jar/jackson-databind-2.4.2.jar
5.拦截器使用. 异常处理器. 类型转换器. 视图解析器. 拦截器: 实现HandlerInterceptor接口. mvc:interceptors
mvc:interceptor <mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/login"/>
</mvc:interceptor>
</mvc:interceptors>
类型转换器:
1自定义类型转换器:implements Converter<String , Date>.
5. 注册转换器在springmvc容器中.<bean id="factoryBean"class=“org.springframework.context.support.ConversionServiceFactoryBean”> <property name="converters




<mvc:annotation-driven conversion-service=“factoryBean”>
</mvc:annotation-driven>
3.当封装Date参数时,即会自动完成转换.异常处理器:controller层抛出的任何异常.

  1. 默认处理器:

    2 自定义处理器:HandlerExceptionResolver接口实现类即可.视图解析器: 扩展解析的页面上的其他成员 : 可以预先提供一个属性对象,或域对象.提供给该页面.
    6.springMVC上传功能(web上传下载功能). web项目中的上传下载:
    1.首先需要上传jar包: commons-io.jar / commons-fileupload.jar
    2.编写上传表单 : 表单类型声明 : enctype=”multipart/form-data”
    1.编写上传处理类:servlet. 将文件保存在: 服务器上.
    2.针对服务器上传成功的文件: 需要对外提供下载.
    3 针对服务器上传成功的图片: 需要页面展示. 回显照片: 将指定位置的照片地址显示在.注: 需要通过服务器设置: 对外提供访问地址.Tomcat/conf/server.xml : 下载: 基本的web下载方式.
    1.获取下载指定的文件名.
    2.设置下载方式通知客户端:response.setHeader(“content-disposition”, “attrachement;filename=”+ filename);
    3.拼接path + filename 的资源完整路径. 进行字节流的读取. 并写入到response的响应流通道中.
    4.释放关闭资源流通道.
    1.springmvc容器中配置:





    2.提供FIleUploadController:MultipartFile file1封装上传文件对象.file1.transferTo( file );
    3.下载FIleDownController:HttpHeaders headers = new ();headers.add(“content-disposition”, “attachement;filename=1.jpg”);ResponseEntity entity=new ResponseEntity(bs ,headers , HttpStatus.CREATED );Return entity;
    springMvc下载的方式二: 依然采用web下载方式实现.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值