/ / Getting ServletContext Atrybut "javax.servlet.context.tmpdir" w sterowniku - wiosna, serwlety, spring-mvc

Uzyskiwanie ServletContext Atrybut "javax.servlet.context.tmpdir" w kontroler - wiosna, serwlety, spring-mvc

Jestem naprawdę nowy w Spring and Spring MVC i ja "praca nad rodzajem programu testowego, który ładuje plik, zapisuje go do tymczasowego katalogu roboczego serwletu, a następnie przekazuje ten plik do reszty programu (co jest wiosennym zadaniem wsadowym i działa poprawnie). ustalenie, w jaki sposób uzyskać lokalizację pliku tymczasowego w moim kontrolerze używanym do konfigurowania wiosennego serwera DispatcherServlet.

Kod, który widziałem online, aby uzyskać tymczasową lokalizację pliku, jest następujący:

File directory = (File)getServletContext().getAttribute("javax.servlet.context.tmpdir");
File file = File.createTempFile("prefix", ".tmp", directory);
FileWriter out = new FileWriter(file);

Ale z tego, co widziałem do tej pory, nie jest możliwe użycie getServletContext w klasie Controller, której używam do skonfigurowania serwletu.

Wszelkie rady dotyczące tego, jak zdobyć to, co chcę, lub inne sposoby radzenia sobie z tym są mile widziane. Jeśli potrzebujesz więcej informacji, po prostu zapytaj.

Odpowiedzi:

2 dla odpowiedzi № 1

Czy próbowałeś wstrzyknięcia ServletContext do kontrolera za pomocą @Autowired adnotację i uzyskaj dostęp do niej w swojej metodzie.

class XController {
@Autowired
private ServletContext servletContext;

}