package springmvc;
public class TestOne {
/**
*
* Springmvc配置的替代方案
* 处理文件上传
* 控制器中处理异常
* 使用flash
*
* 1.springmvc的加载
* 代码方式创建Servlet filter listener,
* 实现webapplicationinitializer接口,创建实例并映射到路径上
*
* web.xml中加载servlet
*
* DispatherServlet 和contextLoaderListener
*
*
* contextConfigLocation
* 加载bean到到容器,spring和springmvc分别可以加载一个文件
*
*
*
* 2.处理multipart形式的数据
* 文件上传,处理图片等二进制数据,
* 可以使用multipart格式的数据,会将数据拆分多个部分
*
* 配置multipart解析器
*
* 两种方式:
* 1)代码方式注册servlet setMultipartConfig()
* 2)在web.xml中配置
*
* 必须指定一个路径,上传的文件将会写入该目录中。
*
* 两种servlet
* CommonsMultipartResolver
* StandardServletMultiResolver 此种方式能设置文件大小,上限
*
* 3.处理multipart请求
*
* 控制器上添加注解 @RequestPart
* 表单上 enctype 设置为 multipart/form-data,每个输入域对应一个part
*
* 表单input 新增了一个file类型,只接受jgpe、png、gif图片,
* 控制器端profilepicture接收,数组接收
*
* public void method(){
* @RequestPart("profilePicture") byte[] profilePicture
* }
*
* 4.MultipartFile 接口处理文件
*
* AWS凭证 保存图片
*
* 5.javax.servlet.http.Part接口
*
* public void method(){
* @RequestPart("profilePicture") Part part
* }
*
*
* 6.异常处理
* @ResponseStatus
*
*
* @ExceptionHandler
* 7.控制器通知类
*
* 建立一个控制器带@ControllerAdvice,会扫描所有的控制器类
*
* 可以在这个列中定义方法处理所有的异常
*
* @ControllerAdvice //定义控制器类
* public Class ControllerAd{
*
* @ExceptionHandler(DuplicateException.class)
* public String duplicSpitterExcetion{ //定义异常处理方法
* return "error/duplication";
* }
*
*
* 现在无论哪个控制抛出DuplicateException异常,都会执行这个方法duplicSpitterExcetion
*
*
*
* 8,spring 中的重定向redirect,作用:防止网页后退或者刷新导致重要数据重新提交
* 1)url模板进行重定向 路劲变量 查询参数
* 如果作为占位符添加到url上,会作为路劲变量,如果没有作为占位符,会作为查询参数
*
* model.addAttribute("uername",username);
* model.addAttribute("id",id);
* return "redirect:/sppiter/{uername}";
*
* url的结果为 /sppitrt/uername?id=id
*
* 缺点:只能发送简单的url
*
* 2)flash
*
* model.addAttribute("uername",username);
* model.addFlashAttribute("spitter",spitter);
* return "redirect:/sppiter/{uername}";
*
* //将对象放入回话中,然后取出来
* }
*
*
*/
}