`

Spring MVC框架学习笔记1

阅读更多

Spring MVC环境搭建
        今天刚接触Spring MVC,费了半天劲大框架,下面是自己一个个找出来的,不对的请指正!

我用的服务器是tomcat 7,jdk 1.7

往后台传入json对象(jquery实现):

            1, 在spring-servlet.xml中加入如下配置,将加载静态资源。

                       <!-- 加载静态文件 mapping /jsp/** 对应的是webcontent下,js文件夹与WEB-INF同级 -->
                          <mvc:resources location="/js/" mapping="/js/**"/>
                          <mvc:resources location="/img/" mapping="/img/**"/>

          2,前台ajax:

<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function(){
 alert("hello!");
 $("#btn1").on(
   "click",
   function(){
    $.ajax({
        url:"testJson",  
        dataType:"json",
        data:{"username":"xsd","password":"xsdpaw"},
        type:"POST",
        success:function(){
               alert("ok");
           }
    });
   });
});
</script>

    3,后台controller

@RequestMapping("/testJson")
 @ResponseBody
 public String hello(User user){
  System.out.println(user.getUsername());
  System.out.println(user.getPassword());
  String jsonObj="{\"username\":\"xsd\",\"\":\"xsd_pas\"}";
  return jsonObj;
 }

加上 @ResponseBody表示,该方法返回的内容,不经过视图映射(自己想的),直接写入到响应包的体部. 所以要是放返的是xml文件,也是要加上的。

            不需要导入任何的额外jar包,前台要将json写对。eg:{"username":"xsd","password":"xsdpaw"}。

             后台的controller的方法上,参数既可以是基本类型,也可以是对象,框架会自动封装的。在方法上加上@RequestResponse

spring-servlet.xml中配置首页(我自己瞎弄的)

     <bean name="/" class="org.springframework.web.servlet.mvc.ParameterizableViewController">    
          <property name="viewName" value="test"/>    
      </bean>  

String MVC文件上传于下载,需要jar包,common-io和common-fileupload

      上传:1,在spring-servlet.xml中加入下面的配置

              <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> 
             <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
        <property name="defaultEncoding" value="UTF-8"/> 
        <!-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> 
        <property name="maxUploadSize" value="200000"/> 
    </bean>  
    <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException --> 
    <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 --> 
    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
        <property name="exceptionMappings"> 
            <props> 
                <!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面 --> 
                <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">uploaderror</prop> 
            </props> 
        </property> 
    </bean>  

        2,再写如下controller

             //参数file1要与前台的file控件的name属性同名,

            //若想传入多个文件,前台控件要用多个file控件,且name属性要相同,MultipartFile file1要改成

            //MultipartFile[]数组。在程序中进行遍历

               @RequestMapping(value="/upload",method=RequestMethod.POST)
 public String testUpload(MultipartFile file1,HttpServletRequest request) {
         String realPath = request.getRealPath("/");;
         try {
              FileUtils.copyInputStreamToFile(file1.getInputStream(), new File(realPath, file1.getOriginalFilename()));
         } catch (IOException e) {
                e.printStackTrace();
          }
        System.out.println("上传成功");
        return null;
 }

      下载:

           @RequestMapping(value="/download")
 public ResponseEntity<byte[]> testDownload(HttpServletRequest request,HttpServletResponse response){
         String path = request.getRealPath("/")+"/"+"类图中的6中关系.txt";
         File file = new File(path);
         HttpHeaders headers = new HttpHeaders(); 
         String fileName = null;
        try {
              fileName = new String("类图中的6中关系.txt".getBytes("UTF-8"),"iso-8859-1");
          } catch (UnsupportedEncodingException e) {
                 // TODO Auto-generated catch block
                  e.printStackTrace();
           }//为了解决中文名称乱码问题
         headers.setContentDispositionFormData("attachment", fileName); 
         headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); 
      try {
          return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers,HttpStatus.CREATED);
     } catch (IOException e) {
         e.printStackTrace();
      }
      return null;
 }

  • 大小: 7.2 KB
分享到:
评论

相关推荐

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    Spring MVC学习笔记MD.7z

    这个压缩包“Spring MVC学习笔记MD.7z”包含了作者在学习Spring MVC过程中的笔记、源代码以及相关文档,非常适合初学者或希望深入理解Spring MVC的开发者。 首先,`SpringMVC-Study.7z` 可能是作者整理的Spring MVC...

    Spring MVC 学习笔记

    以下是对Spring MVC学习笔记的详细解释: 1. **创建项目**: 创建Spring MVC项目通常从构建一个Maven工程开始。在命令行中使用Maven的`archetype:generate`命令创建一个JEE5的Web工程。在提供的例子中,使用了特定...

    Spring MVC 学习笔记 九 json格式的输入和输出

    在这个学习笔记中,我们将深入探讨如何在Spring MVC中处理JSON格式的数据,包括输入和输出。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输。 1. **JSON格式简介** ...

    Spring MVC 学习笔记 十二 PDF/Excel格式输出

    本学习笔记主要围绕Spring MVC的使用、配置和核心组件进行深入探讨,旨在帮助开发者更好地理解和掌握这一框架。 在Spring MVC中,Model代表业务逻辑和数据,View负责数据的展示,而Controller处理用户请求,协调...

    spring框架学习笔记

    本笔记将深入探讨Spring框架的核心概念和主要功能,帮助你全面理解并掌握这一强大的工具。 一、Spring概述 Spring是一个开源的Java平台,它提供了一个全面的编程和配置模型,用于现代Java应用。其核心是IoC容器,...

    Spring MVC 学习笔记 一 创建项目

    **Spring MVC 学习笔记 一 创建项目** 在IT领域,Spring MVC是Java Web开发中的一个强大框架,它简化了构建交互式Web应用程序的过程。本笔记将深入探讨如何创建一个基本的Spring MVC项目,让我们开始吧。 首先,...

    spring_mvc学习笔记

    Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序。在Spring 3.0.x版本中,Spring MVC进行了大量的改进,引入了许多新特性和优化,使其更加高效且易于使用。 1. **基于注解的配置**: 在Spring 3.0.x中...

    马士兵老师spring框架学习笔记

    马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...

    spring MVC学习笔记

    **Spring MVC 学习笔记** Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(Model-View-Controller)架构,帮助开发者处理请求、控制应用程序流程,并实现业务逻辑...

    Spring MVC 学习笔记(一)

    **Spring MVC 学习笔记(一)** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架。Spring MVC 通过解耦应用程序的不同部分,使开发人员能够更轻松地进行...

    Spring MVC 学习笔记 十一 data binding

    在Web开发中,Spring MVC框架为我们提供了一种高效的数据绑定机制,使得控制器(Controller)能够方便地将用户提交的表单数据与Java对象进行映射,简化了处理HTTP请求和响应的过程。本学习笔记将深入探讨Spring MVC...

    Spring框架,学习笔记,很优秀的资料

    - **MVC框架**:Spring MVC提供了一种优雅的方式处理HTTP请求,模板引擎和视图解析,以及强大的模型绑定和数据验证功能。 - **Spring Boot**:基于Spring的快速开发工具,简化了配置,提供自动配置和起步依赖,...

    Spring5框架课堂笔记.7z

    这份"Spring5框架课堂笔记.7z"压缩包包含了深入理解Spring5框架的关键知识点,帮助学习者系统地掌握这一强大的框架。以下是笔记中可能涵盖的主要内容: 1. **Spring概述**:Spring是一个开源的Java平台,它简化了...

    javaSSM 学习笔记spring spring MVC mybatis

    【Java SSM 学习笔记:Spring、Spring MVC、MyBatis】 SSM 是 Java Web 开发中常用的三大框架,即 Spring、Spring MVC 和 MyBatis。它们各自负责不同的职责,共同构建了一个高效、灵活的 web 应用程序。 1. **...

    Spring MVC 学习笔记 七 controller中其他可用的annotation

    在Spring MVC框架中,Controller是处理用户请求的核心组件。这篇"Spring MVC 学习笔记 七 controller中其他可用的annotation"可能涵盖了除我们常见的`@RequestMapping`之外的其他注解,这些注解使得控制器功能更加...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    Spring技术内幕 学习笔记

    《Spring技术内幕 学习笔记》是一份深入探讨Spring框架核心机制的学习资料,结合作者zzc1684在iteye博客上的博文,我们可以从中学习到Spring框架的多个重要知识点。Spring作为Java企业级应用开发的基石,其设计思想...

Global site tag (gtag.js) - Google Analytics