Я создаю сервлет на Tomcat 6.0 в ubuntu 10.04. Для журнала печати я использовал System.setOut для перенаправления вывода.Как печатать журналы в приложении сервлета tomcat
System.setOut(new PrintStream(new File("/tmp/new.log")));
System.setErr(new PrintStream(new File("/tmp/new.log")));
Я должен использовать этот код в doPost(), но при запуске моего приложения, то я не в состоянии видеть выходные Вот почему временно я переместился этот код в doGet().
Когда я ударил URL через браузер http://127.0.0.1:8080/hello/hello я получаю следующее сообщение об ошибке в браузере
java.security.AccessControlException: access denied (java.io.FilePermission /tmp/new1.log read)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:342)
java.security.AccessController.checkPermission(AccessController.java:553)
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
java.lang.SecurityManager.checkRead(SecurityManager.java:888)
java.io.File.exists(File.java:748)
HelloWorldExample2.doGet(HelloWorldExample2.java:42)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)**
Похоже, что пользователь, с которого вы работаете на сервере, не имеет права на запись для/tmp dir – 2010-12-02 13:10:27