【问题标题】:Read file into spring controller. Using relative path将文件读入弹簧控制器。使用相对路径
【发布时间】:2015-03-24 10:57:47
【问题描述】:

我想像这样从控制器读取文件:

@Controller
public class HomeController {

    @RequestMapping(value = {"/"}, method = RequestMethod.GET)
    public String showHomePage(ModelMap model) throws IOException, SAXException, ParserConfigurationException {
        List<User> users = XmlParser.parse("Sum_and_clients.xml");
        return "home";
    }

但是当我启动服务器时,它想从 apache-tomcat\bin 下载它。尽管 Sum_and_clients.xml 位于 HomeController.java 附近。如何将这个绝对的 tomcat 路径更改为我的项目中的路径?

【问题讨论】:

  • xml 文件是在你的类路径中还是只是在 webapp 的某个地方?
  • HomeCtrl.是一个类,所以它位于类路径中。搜索从类路径加载文件以及在 webapps 中放置文件的位置。
  • @Ria 我想把它放在我的应用程序内的任何目录中。
  • @Stefan 你的意思是,我可以通过他的 ClassLoader 获得 HomeController 的绝对位置?

标签: java file maven spring-mvc tomcat


【解决方案1】:

我解决了我的问题。

  URL url = HomeController.class.getResource("Sum_and_clients.xml");
  File file = new File(url.getPath())

这个文件应该放在 [{Your project name}\target\ {Your project name} \WEB-INF\classes\ {Your package to HomeController}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多