spring mvc的异常与文件上传

1.异常:

spring注解版的异常有局部异常和全局异常
        
       1.局部异常对单个controller有效;(在controller类写一个处理异常的方法)

@ExceptionHandler(value={UserException.class})
public String handlerExceptionTest(UserException e ,HttpServletRequest request){
request.setAttribute("msg", "用户不存在"); return "error";
}

2.全局异常对所有的controller有效(在配置文件中配置;用于所有的controller)

   <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="po.UserException">error</prop>
</props>
</property>
</bean>

//上边两种方法中使用的异常类UserException是我们自己创建的,继承自一个异常类.  (我通常extends(继承)  RuntimeException或Exception)

2.文件上传

//页面

form表单设置enctype属性

      <form action="/SpringOne/login" method="post" enctype="multipart/form-data" class="hehe">
用户名<input type="text" name="name"/>
密码<input type="text" name="pwd"/>
文件 <input type="file" name="attach"/>
<input type="submit" value="提交"/>
</form>

//

在配置文件(xxx-servlet.xml)中配置如下代码:

      <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

           <property name="maxUploadSize" value="5000000">

           </property>

      </bean>

//controller中

    @RequestMapping(value="/login",method=RequestMethod.POST)
public String login(String name,String pwd,HttpSession session,MultipartFile attach) throws UserException, IOException{
boolean flag=true;
if(name!=null && !name.equals("")){
for (User item : list) {
if(name.equals(item.getName())){
//model.addAttribute("user",item);
session.setAttribute("user", item); flag= false; }
}
}
//为true抛出局部异常
if(flag){
throw new UserException();
}
//文件上传
System.out.println(session.getServletContext().getRealPath("/static/upoload")); FileUtils.copyInputStreamToFile(attach.getInputStream(),new File(session.getServletContext().getRealPath("/static/upoload")+File.separator+attach.getOriginalFilename())); return "redirect:/hello"; }

Spring Mvc 笔记二之异常和文件上传的更多相关文章

  1. Spring MVC-表单(Form)标签-文件上传(File Upload)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_upload.htm 说明:示例基于Spring MVC 4.1.6. 以下示例显 ...

  2. Spring MVC3.2 通过Servlet3.0实现文件上传

    Servlet3.0规范增加了对文件上传的原生支持,这里记录一下Spring MVC3通过Servlet3上传文件的实现. 配置文件: applicationContext.xml <!-- s ...

  3. JavaEE系列之(二)commons-fileupload实现文件上传、下载

    一.文件上传概述     实现Web开发中的文件上传功能,需要两步操作:     1.在Web页面中添加上传输入项 <form action="#" method=" ...

  4. java web学习总结(二十四) -------------------Servlet文件上传和下载的实现

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  5. MVC+WCF框架下广告位管理——文件上传

    广告位是站点中不可缺少的内容之中的一个.也是能直接给我们站点带来经济收益的内容之中的一个. 好的广告位不仅不会强宾压主,而会为我们的站点锦上添花.起到画龙点睛的作用.因此设计好广告位也是开发过程中一大 ...

  6. CodeIgniter学习笔记五:分页,文件上传,session,验证码

    一.分页 示例代码: //装载类文件 $this -> load -> library('pagination'); $controller = $this->router-> ...

  7. Grails笔记三:完整的文件上传实例

    文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 假设已有一个名为uploadFi ...

  8. Struts(二十六):文件上传

    表单的准备 想要使用html表单上传一个或多个文件 1.须把html表单的enctype属性设置为multipart/form-data 2.须把html表单的method属性设置为post 3.须添 ...

  9. JSP学习笔记(四):文件上传

    JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档.我们使用 Servlet 来处理文件上传,使用到的文件有: upload.j ...

随机推荐

  1. POJ3461–Oulipo(KMP)

    题目大意 给定一个文本串和模式串,求模式串在文本串中出现的次数 题解 正宗KMP 代码: #include<iostream> #include<cstring> #inclu ...

  2. jqGrid 设置列宽

    在jqgrid显示出来之后,需要手动调整列宽. 1. 经过调查jqgrid本身不支持指定列宽,当然这个是说的的初始化完成后. 2. 经过调查手动是可以调整列宽,所以进行了事件的查看resizestop ...

  3. Linux 常见文件打包压缩命令

    .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!)       参数说明:         - ...

  4. 在HTTP响应标题中隐藏ASP.NET MVC的版本

    在默认情况下,ASP.NET MVC网站会在HTTP响应标题(Response Header)中动态添加目前使用的ASP.NET MVC版本编号.如果使用Fiddler Web Debugger工具查 ...

  5. 跟我学SpringMVC目录汇总贴、PDF下载、源码下载

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  6. cocos2d-x学习笔记

    转自:http://blog.csdn.net/we000636/article/details/8263503 接受触屏事件的优先级是值越小,响应触屏事件的优先级越高 Z值越大,越外面 JNI:允许 ...

  7. Angular和jQuery的ajax请求的差别

    近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...

  8. [Whole Web] [AngularJS] Localize your AngularJS Application with angular-localization

    It is best to start your application's localization efforts early in development, even if you only s ...

  9. android102 查询,插入联系人

    package com.itheima.getcontacts; import com.itheima.getcontacts.domain.Contact; import android.net.U ...

  10. css 行内元素和块级元素

    1. 块级元素默认在新行开始,如常见的div和p标签,行内元素默认在同行开始显示,如a,span标签 2.块级元素一般用于做容器,可容纳行内和块级元素,可设置width和height,行内元素只能容纳 ...