Я работал над кодом JSP, который выполняется на сервере Tomcat5.5 в системе Windows.
Мне пришлось скопировать весь код JSP в систему Linux, и когда я сделал то же самое, я получил сообщение об ошибке ниже.
javax.servlet.ServletException: c:\tmp is not a directory
Readcsv.init(Readcsv.java:36)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:636)
Я изменил код Java в системе Windows без этого каталога c: \ tmp и перезапустил сервер Tomcat, и инструмент работал нормально.
Когда я заменил модифицированный Java-код Windows на систему Linux, я все еще получаю ту же ошибку.
Примечание. Я обращаюсь к серверу Linux из Windows по URL-адресу http://192.168.0.85:8080/CNA/uploadcsv.jsp
, где 85 - системный номер Linux.
Есть ли что-то вроде tomcat, которое нужно перезапустить и для версии linux? Если так, как сделать то же самое?
UPDATE
Здесь я использовал местоположение c: \ tmp в своем коде.
public class Readcsv extends HttpServlet {
private static final String TMP_DIR_PATH = "c:\tmp";
private File tmpDir;
private static final String DESTINATION_DIR_PATH ="/files";
private File destinationDir;
public void init(ServletConfig config) throws ServletException {
super.init(config);
tmpDir = new File(TMP_DIR_PATH);
if(!tmpDir.isDirectory()) {
throw new ServletException(TMP_DIR_PATH + " is not a directory");
}
String realPath = getServletContext().getRealPath(DESTINATION_DIR_PATH);
destinationDir = new File(realPath);
if(!destinationDir.isDirectory()) {
throw new ServletException(DESTINATION_DIR_PATH+" is not a directory");
}
}
Как мне найти замену временному пути? Путь назначения работает нормально.
Я точно скопировал код из этого примера