![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| SYS |
|
|||
|
Unregistered |
У меня такой вопрос.
Я загруjаю апплет. и функция getDocumentBase() вазврашает место апплетА на сервере. может ли апплет читать из файла (.txt), который находится в том же каталоге? И если ест jdk , как настраивать Netscape Comunicator, чтоб@ на открыл апплеты? |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
С сервера читать нужно? Или в месте, где аплет запущен?
Что ты имеешь ввиду под "как настраивать Netscape Comunicator, чтоб@ на открыл апплеты?" чтобы запускал их или чтобы открывал на редактирование? |
|||
|
||||
| SYS |
|
|||
|
Unregistered |
net chtob@ zapuskal ix.
A txt fail nado otkr@t na servere, tam gde lejit i sam applet. |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Просто читать файл через обычный ввод/вывод - невозможно. Апплет ведь фактически запущен на локальной машине. А файл лежит на другой. Для его скачивания надо обращаться к какой-либо службе на сервере, с которого взят апплет - FTP, или к тому же WEB-серверу по HTTP. Т.е. апплет может только создать коннект к серверу и использовать этот коннект для закачки файла на твою локальную машину, где он запущен. В принципе при использовании более расширенной политики безопасности можно закачать файл и с другого хоста, но в любом случае это не будет обычная операция ввода/вывода из/в файл. Иначе никак. |
|||
|
||||
| SYS |
|
|||
|
Unregistered |
понятно.
но как это можно делать? И если я скачаю этот файл в локальную файл систему, то как апплет может открыт этот файл? Дело в том что, вопроз безопасности сдес стоит не на последном месте. Например как через HTTP скачать содержaние этого файла сразу в апплет, не используя локальную файл систему. |
|||
|
||||
| AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Апплет может открыть этот файл. Но не просто так. Во-первых, если JAVA у броузера старая или не определена политика безопасности, то апплет к диску обратиться не сможет. Если JAVA номая, то надо определить политику безопасности для возможности записи файла в какую-нибудь директорию. Вообщем в обычной ситуации апплет ничего записать на диск не может.
Открыть сокет прямо в апплете к тому же серверу. Во, нашел на форуме. Помню, чтоуже отвечал. HTTP туннелирование |
||||
|
|||||
| SYS |
|
|||
|
Unregistered |
u menaj Browser Netscape Comunicator
JDK 1.3.1_06 no kak soazdat " политика безопасности" ja n znaju. Mojet pomojete? A cherez URLconection, ja mogu otkr@vat etot txt fail, kotor@i naxodica tam ja, gde i applet? Na primere ja chjo to ne ponjal. Izvinite za takie lamerskie voopros@. |
|||
|
||||
| SmaLL |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 557 Регистрация: 17.12.2002 Где: Voronezh Репутация: 1 Всего: 2 |
Можешь Вот код из работающего апплета
-------------------- Что ни делается - всЁ к лучшему! SmallWeb Мой адрес не дом и не улица, мой адрес родной пивзавод! |
||||
|
|||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Политика безопасности настраивается очень просто/
Надо отредактировать файл (JAVA_JRE-каталог)\lib\secutiry\java.policy Формат этого фала grant [SignedBy "список имен"] [, CodeBase "URL" { permission имя_класса_права_доступа "имя" "действие" [, SignedBy "список имен"] }; grant ... { }; SignedBy указывает, что надо проверять, кто подписал данный апплет. Если SignedBy отсутствует, то не проверяем. CodeBase указывает URL с которого закачан апплет. Если такой URL есть, то к нему будут применяться правила указанные в файле. Теперь по поводу имя_класса_права_доступа. Это классы? которые фактически проверяют и дают доступ к ресурсам. Все они наследники от класса Permission. Вот их и надо подставлять. Каждый из них отвечает за свои права - так что тут уже надо брать документацию и смотреть. Например для FilePermission надо указывать имя до файла (можно использовать *) и модификаторы через запятую (read, write, delete). Для SocketPermission - "connect", "listen", "accept" Например: grant CodeBase "http://www.trust.com/" { permission java.io.FilePermission "C:\\temp\\sample.txt", "read" } Если апплет загружен с сайта www.trust.com, то он может читать указанный файл. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |