发表于: 2017-09-30 20:15:37
1 790
今天完成的事情:
1.翻了一下他们的复盘项目的文档,看到他们图片上传的是单独的MultipartFile,所以试了一下,代码如下
public String xx(@RequestParam("file") MultipartFile file,HttpServletRequest request){
if (!file.isEmpty()) {
try {
// 文件保存路径
String filePath = request.getSession().getServletContext().getRealPath("/") + "/fileUpload/"
+ file.getOriginalFilename();
// 转存文件
file.transferTo(new File(filePath));
} catch (Exception e) {
e.printStackTrace();
}
}
xml里面也要配置一下bean
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8"
p:maxUploadSize="5400000"
p:uploadTempDir="fileUpload/temp">
</bean>
用的是CommonsMultipartResolver,上面三个部分分别是编码格式,文件大小,和存储路径。
这样传过来一个文件,就可以下先存储在临时文件里,然后传完了可以删掉。
2.今天偷懒在看视频
3.因为新作了一个项目,复习一下任务二spring mvc
一、@Controller 在xml配置 就是自动扫描
@RequestMapping
有六个属性:
value: 指定请求的实际地址;
method: 指定请求的method类型, GET、POST、PUT、DELETE等。
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;(明天继续看看Json)。
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
@Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在
@Resource默认按照ByName自动注入
@Resource装配顺序:
①如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。
②如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。
③如果指定了type,则从上下文中找到类似匹配的唯一bean进行装配,找不到或是找到多个,都会抛出异常。
④如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。
@Resource的作用相当于@Autowired,只不过@Autowired按照byType自动注入。
感觉只要用Resource就好了,autowired还没那个好用
@PathVariable
举例@PathVariable("userId") String userId 然后方法体里面就可以直接用了
@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter("name"),它有三个常用参数:defaultValue = "0", required = false, value = "isApp";defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。
还有params id 就代表url里必须要有id 这个请求参数。
明天计划:看老大讲的视频,学习一下DAL
评论