在写上传小练习的时候,发现获得路径的request.getRealPath("")已经被画上线了,也就是不再建议使用.

package controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile; @Controller
public class UploadController {
@RequestMapping("upload.do")
public String upload(HttpServletRequest request, String userName,
@RequestParam(value = "file") MultipartFile file) {
String upload_path1 = request.getRealPath("upload"); System.out.println(upload_path1);
return "index"; }
}

虽然最后也能得到正确的结果,D:\Program Files\apache-tomcat-8.5.24\webapps\upload\upload

但是既然已经不再建议使用,那就要在以后的项目里避免使用,这里给出两个替代的方法:

String upload_path2 = request.getServletContext().getRealPath("upload");
String upload_path = request.getSession().getServletContext().getRealPath("upload");

输出结果相同:

request.getRealPath的替代方法的更多相关文章

  1. 有关Linux下request.getRealPath("/")获取路径的问题

    request.getRealPath("/") 在window获取的是服务器的根目录,结尾包含分隔符, 如E:\apache-tomcat-6.0.29-bak\apache-t ...

  2. getContextPath、getServletPath、getRequestURI、request.getRealPath的区别

    1 区别 假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 1.1 System.o ...

  3. 从request获取各种路径总结 request.getRealPath("url")

    转载:http://blog.csdn.net/piaoxuan1987/article/details/8541839 equest.getRealPath() 这个方法已经不推荐使用了,代替方法是 ...

  4. Request中的各种方法

    前言 Request中方法众多,对于Java Web程序员来说,种种方法都会在工作中常常用到.Request由于不是JDK的一部分,这些方法的用法也没有专门的API可以查,所以在工作中遇到Reques ...

  5. iOS中的过期方法和新的替代方法

    关于iOS中的过期方法和新的替代方法 1.获取某些类的UINavigationBar的统一外观并设置UINavigationbar的背景 注:方法名改了但是基本使用方法不变 + (instancety ...

  6. spring替代方法

    总结spring替代方法的使用 MyValueCalculator类中的computerValue方法将会被替代 public class MyValueCalculator { public Str ...

  7. JSP EL表达式 获得 request的GET/POST方法

    JSP EL表达式 获得 request的GET/POST方法: 不在requestScopse中: <p>得到request的方法</p> <p>pageCont ...

  8. Spring中获取request的几种方法,及其线程安全性分析

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎 ...

  9. Android中getDrawable和getColor过时的替代方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android SDK 升级到 23 之后,getDrawable和getColor方法提示过时. 解决方案 getResources(). ...

随机推荐

  1. python tuple的函数

    1. len(tuple) 计算元组元素个数 >>> tuple1 = ('Google', 'Runoob', 'Taobao') >>> len(tuple1) ...

  2. 二叉查找树ADT

    二叉查找树ADT 定义:是一个二叉树,其中每一个节点的值大于左子树的所有值而小于右子树的所有值 平衡二叉树:平衡是指一个二叉树的任何节点的深度均不得过深 AVL树 定义:是一个二叉查找树,每个节点的左 ...

  3. 记mysql中时间相关的一个奇怪问题

    发现mysql中类型为时间的字段,在查询时显示的时间是什么是依赖于客户端的,不同的客户端查同一个时间,可能在客户端显示的时间是不一样的.至于这个在哪里配置,以及服务端如何依据这个配置为客户端返回结果, ...

  4. [ Python ] unittest demo

    # -*- coding: utf-8 -*- import unittest class MyUT(unittest.TestCase): def test_1(self): print(" ...

  5. 分治法——快速排序(quicksort)

    先上代码 #include <iostream> using namespace std; int partition(int a[],int low, int high) { int p ...

  6. https://scrapingclub.com/exercise/detail_sign/

    def parse(self, response): # pattern1 = re.compile('token=(.*?);') # token = pattern1.findall(respon ...

  7. C# 使用lambda表达式过滤掉数组中的空字符串

    使用lambda表达式过滤掉数组中的空字符串    KeyWord = KeyWord.Where(S => !string.IsNullOrEmpty(S)).ToArray();

  8. 绘制COCO数据集结果

    import os import time import datetime import mmcv import cv2 as cv import json import numpy as np im ...

  9. 通过WireShark抓取iPhone联网数据方法

    通过WireShark抓取iPhone联网数据方法 命令行 rvictl -s <UDID> 然后再wireshark选择rvi0进行抓包即可 抓包完后,移除用命令 rvictl -x & ...

  10. container(容器),injection(注入)

    1.container为什么会出现? 在书写程序的时候,我们常常需要对大量的对象引用进行管理.为了实现有效的归类管理,我们常常将同类的引用放置在同一数据容器中.由于数据容器中存放了我们随时可能需要使用 ...