springmvc的静态资源处理
现象:html、css、js、图片等静态资源默认情况下无法访问,springmvc对静态资源进行了拦截
解决方案
在springmvc配置文件中加入以下内容
<!--springmvc配置静态资源处理-->
<mvc:resources mapping="/css/**" location="/css/" ></mvc:resources>
<mvc:resources mapping="/html/**" location="/html/" ></mvc:resources>
<mvc:resources mapping="/js/**" location="/js/" ></mvc:resources>
在web下创建css文件,html文件,js文件,images文件里面添加css文件啊什么的,测试可以获取到
常用的一种是:
把所有的静态文件和文件夹放在一个static文件夹里面这样在xml配置问件中只需要配置如下代码所示:
<!--springmvc配置静态资源处理-->
<!--<mvc:resources mapping="/css/**" location="/css/" ></mvc:resources>
<mvc:resources mapping="/html/**" location="/html/" ></mvc:resources>
<mvc:resources mapping="/js/**" location="/js/" ></mvc:resources>-->
<mvc:resources mapping="/static/**" location="/static/" ></mvc:resources>
springmvc文件上传
在pom.xml配置文件中导入jar包:
一定要把jar包放到项目中
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
2 创建一个addFile.jsp页面
<%--
上传文件
注意事项:
1.form method="post"
2.enctype="multipart/form-data"
--%>
<form action="/addFile" method="post" enctype="multipart/form-data">
<input type="file" name="myFile">
<input type="submit" value="上传">
</form>
3 在springmvc的xml配置文件中配置
<!--文件上传解析器-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8"
p:maxUploadSize="5242880"
p:uploadTempDir="file:/e:/.temp"
/>
4在web下面创建upload包获取文件的路径
5 在java中测试运行
import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.annotation.MultipartConfig;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@Controller
//处理文件上传
@MultipartConfig
public class FileController {
@RequestMapping("/addFile")
public String addFile(MultipartFile myFile) throws IOException {
String path = "E:/idea代码/springmvc01/web/upload/";
//获取文件名
String fileName = myFile.getOriginalFilename();
//获取文件大小
long size = myFile.getSize();
//获取文件类型
String type = myFile.getContentType();
File toFile = new File(path+fileName);
//文件复制
IOUtils.copy(myFile.getInputStream(),new FileOutputStream(toFile));
//返回到 /jsp/addFile.jsp
return "addFile";
}
}
文件上传成功
当然文件上传我写的很简单,但后面会不断完善的,真的感觉每天过的好累啊。不过加油,未来可期!!!