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;
}
相关推荐
这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
这个压缩包“Spring MVC学习笔记MD.7z”包含了作者在学习Spring MVC过程中的笔记、源代码以及相关文档,非常适合初学者或希望深入理解Spring MVC的开发者。 首先,`SpringMVC-Study.7z` 可能是作者整理的Spring MVC...
以下是对Spring MVC学习笔记的详细解释: 1. **创建项目**: 创建Spring MVC项目通常从构建一个Maven工程开始。在命令行中使用Maven的`archetype:generate`命令创建一个JEE5的Web工程。在提供的例子中,使用了特定...
在这个学习笔记中,我们将深入探讨如何在Spring MVC中处理JSON格式的数据,包括输入和输出。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输。 1. **JSON格式简介** ...
本学习笔记主要围绕Spring MVC的使用、配置和核心组件进行深入探讨,旨在帮助开发者更好地理解和掌握这一框架。 在Spring MVC中,Model代表业务逻辑和数据,View负责数据的展示,而Controller处理用户请求,协调...
本笔记将深入探讨Spring框架的核心概念和主要功能,帮助你全面理解并掌握这一强大的工具。 一、Spring概述 Spring是一个开源的Java平台,它提供了一个全面的编程和配置模型,用于现代Java应用。其核心是IoC容器,...
Spring MVC是Spring框架的一部分,用于构建Web应用程序的模型-视图-控制器(Model-View-Controller)实现。Spring MVC通过分离业务逻辑、数据模型和视图界面来简化Web应用程序的开发。开发者可以使用注解或XML配置的...
**Spring MVC 学习笔记 一 创建项目** 在IT领域,Spring MVC是Java Web开发中的一个强大框架,它简化了构建交互式Web应用程序的过程。本笔记将深入探讨如何创建一个基本的Spring MVC项目,让我们开始吧。 首先,...
Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序。在Spring 3.0.x版本中,Spring MVC进行了大量的改进,引入了许多新特性和优化,使其更加高效且易于使用。 1. **基于注解的配置**: 在Spring 3.0.x中...
### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...
**Spring MVC 学习笔记(一)** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架。Spring MVC 通过解耦应用程序的不同部分,使开发人员能够更轻松地进行...
在Web开发中,Spring MVC框架为我们提供了一种高效的数据绑定机制,使得控制器(Controller)能够方便地将用户提交的表单数据与Java对象进行映射,简化了处理HTTP请求和响应的过程。本学习笔记将深入探讨Spring MVC...
- **MVC框架**:Spring MVC提供了一种优雅的方式处理HTTP请求,模板引擎和视图解析,以及强大的模型绑定和数据验证功能。 - **Spring Boot**:基于Spring的快速开发工具,简化了配置,提供自动配置和起步依赖,...
这份"Spring5框架课堂笔记.7z"压缩包包含了深入理解Spring5框架的关键知识点,帮助学习者系统地掌握这一强大的框架。以下是笔记中可能涵盖的主要内容: 1. **Spring概述**:Spring是一个开源的Java平台,它简化了...
### Spring MVC 学习笔记之 AOP 面向切面编程详解 #### 一、AOP 概念概述 面向切面编程(Aspect Oriented Programming, AOP)是一种编程范式,它允许程序员定义“切面”来封装那些与业务逻辑本身无关的功能,比如...
【Java SSM 学习笔记:Spring、Spring MVC、MyBatis】 SSM 是 Java Web 开发中常用的三大框架,即 Spring、Spring MVC 和 MyBatis。它们各自负责不同的职责,共同构建了一个高效、灵活的 web 应用程序。 1. **...