06.Linux下Tomcat虚拟目录配置访问
环境:CentOS7,tomcat7.0
1.修改server.xml
cd /usr/local/tomcat/conf vi server.xml

<Context path="/test/res" docBase="/home/tuling" debug="0" reloadable="true" />
其中test是你的应用名字,res是随便自己设置的url映射路径,doBase之后就是文件的真实路径
2.出于安全考虑/usr/local/tomcat/conf/web.xml配置文件中的listings设置为false
cd /usr/local/tomcat/conf vi web.xml

3.保存文件时需要保存到真实路径,也就是/home/tuling,保存时候linux需要给于文件操作权限
@RequestMapping("/upload3")
public String upload3(@RequestParam("file") CommonsMultipartFile[] files,
HttpServletRequest request, HttpServletResponse response,Model model) throws IllegalStateException, IOException {
File temp = new File("/home/tuling/");
if(!temp.exists()){
temp.mkdir();
}
// 创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
// 判断 request 是否有文件上传,即多部分请求
if (multipartResolver.isMultipart(request)) {
// 转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
// 取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
while (iter.hasNext()) {
// 记录上传过程起始时的时间,用来计算上传时间
int pre = (int) System.currentTimeMillis();
// 取得上传文件
MultipartFile file = multiRequest.getFile(iter.next());
if (file != null) {
// 取得当前上传文件的文件名称
String myFileName = file.getOriginalFilename();
// 如果名称不为“”,说明该文件存在,否则说明该文件不存在
if (myFileName.trim() != "") {
System.out.println(myFileName);
// 重命名上传后的文件名
String fileName = file.getOriginalFilename();
// 定义上传路径
String path = "/home/tuling/" + fileName;
System.out.println(path);
File localFile = new File(path);
localFile.setWritable(true, false);
file.transferTo(localFile);
if(localFile.exists()){
System.out.println(true);
model.addAttribute("pic", fileName);
}else{
System.out.println(false);
}
}
}
// 记录上传该文件后的时间
int finaltime = (int) System.currentTimeMillis();
System.out.println(finaltime - pre);
}
}
return "show";
}
4.显示刚刚上传的文件show.jsp,注意img文件的路径需要添加res,这样才会定位到上边server.xml中配置的服务器中的真实文件目录
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> 文件上传成功. <br> ${ctx}+"/res/"+${pic} <img alt="" src="${ctx}/res/${pic}"> </body> </html>

http://www.cnblogs.com/makexu/

浙公网安备 33010602011771号