Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Tomcat


Автор: Zandr 20.4.2005, 10:22
Плюхнул сервлет, который делает файл, и пишет туда, короче не важно что (в директории по умолчанию). Зашел на этот сервлет-страничку. Созданный файл нашелся в C:\WINNT\System32. Установки Tomcat по дефолту (версия - 5, запущен как сервис).

В общем, как поизящнее запретить веб приложениям доступ вне их папок (ну и сделать текущую директорию приложения папкой по умолчанию)???

Автор: FatherFrost 16.5.2005, 16:05
Попробуй следующую фишку:

Код

   private CreateFile()
   {
     HttpServletRequest req = (HttpServletRequest)pageContext.getRequest();
     String servletpath = req.getServletPath();
     String realpath = pageContext.getServletContext().getRealPath(servletpath);
     String s = realpath + ".txt";
     java.io.File file = new java.io.File(s);
   }


К примеру если этот метод был определен в классе поддержки тега, который используется на странице /index.jsp, то в каталоге с этим джаспом создасться файл /index.jsp.txt. То есть, он будет помещен в каталог твоего веб-приложения... А если еще из пути удалить подстроку /index.jsp, то файл будет создаваться в корне твоего веб приложения, а имя можешь давать ему любое...

Автор: FatherFrost 27.5.2005, 08:58
Ну как помогло????

Автор: maximb 27.5.2005, 18:17
Цитата(FatherFrost @ 16.5.2005, 16:05)
pageContext.getServletContext().getRealPath(servletpath)

только осторожно с этой штукой, поскольку при переходе на JBOSS
она неправильно работает.

Автор: batigoal 27.5.2005, 18:22
Цитата(maximb @ 27.5.2005, 19:17)
только осторожно с этой штукой, поскольку при переходе на JBOSS она неправильно работает

А как там выпутываться?

Автор: maximb 27.5.2005, 18:31
либо так (но это если приложение хранится в развернутом виде на сервере)
Код

getServletContext().getResource("/WEB-INF/conf/velocity.properties")

либо использовать относительный путь, от корня
например: "/dir1/dir2/myfile.txt"


Автор: FatherFrost 30.5.2005, 10:18
Так речь шла про Томкат... Я поэтому так и ответил. Про JBOSS я к сожалению таких тонкостей не знаю...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)