1、 如何获得项目resources文件夹的位置?
使用HttpServletRequest的一个实例request,使用request.getRealPath("");可以获得当前SpringMVC项目的webapp文件地址。
Class A{
private static String directory = "";
public String homePage(HttpServletRequest request, HttpServletResponse response,Model model)
{
if("".equals(ImageConst.directory))
ImageConst.directory = request.getRealPath("")+"/resources/uploads/";
return "index";
}
}
2、SpringMVC4.1.2在使用@RequestBody annotation的时候,会遇见对应的请求返回413的问题
这个问题的产生原因是因为没有在Spring的配置文件中配置处理json的类,在上网搜了相应错误之后使用如下配置:
<beans:bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<beans:property name="supportedMediaTypes">
<beans:list>
<beans:value>application/json;charset=UTF-8</beans:value>
</beans:list>
</beans:property>
</beans:bean>
上面的beans:是因为xml文件的命名空间声明的方式所产生的。
要注意class的属性中有个2,因为在SpringMVC4.1.2中是这样写的,不然会出现无法找到相应类的问题。
对于SpringMVC4.1.2来说,需要使用jackson的版本为2.0以上,不然在Spring加载的时候会出现ClassNoFoundException。
最后在pom.xml中配置
<dependency>
<span style="white-space:pre"> </span><groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.2</version>
</dependency>
jackson包。
3、