>> А какой толк от всех этих .NET и ASP если нет ActiveX ??
Может быть, я и заблуждаюсь, но вообще то объекты среды .NET призваны в значительной степени заменить COM объекты, не лишенные недостатков.
Мне просто очень понравилась лаконичность .NET WebForms решения данного примера. Безусловно, IBM WAS 5 поддерживает нынче и struts и многие другие вкусности, однако в изделии IBM такой краткости кода, увы, достичь невозможно.
К сожалению, Java за последнее время превращаетсЯ в неуправляемого монстра. Хотя это моя личная точка зрения и я на ней не настаиваю.
Мне лично очень нравятся Smalltalk и ML-языки. IMHO, Smalltalk развивает абстрактное мышление, а ocaml - логическое. Постараюсь запостить скриншот самого нового обновления IBM VA Smalltalk 6.01 для Linux.
Ну вот ещё... Это ж .net, а ты тут разумный подход ищёшь... Надо ж прогресс стимулировать, чтобы у всех были жирные каналы и мощные сервера... То же мне, придумал - на клиенте надпись на кнопке менять... Ты бы ещё на ассемблере кнопку написал.
ну давай без крайностей ....я могу те показать клиентский js который работает с бд но только при наличии odbc и только в ie .....
Использовать .NET ради этих asp:Button глупость ....
Скажи что есть в этом .NET какие такие вкусности которых у меня нет сейчас ..... я просто не знаю и интересуюсь ....
я тут начал потихоньку с этим добром разбираться. Создалось впечатление, что попросту есть написанные скрипты для контролов, которые загружаются при запросе. Например я экпериментировал с asp:calendar. Да, на aspx это всего одна строка. В браузере получается вполне нормальный DataPicker. Но это есть ничто иное как огромный html с javascript, который мне все и отображает, причем еще при каждом клике лезет на сервер, чтобы поменять выбранную дату. Вобщем-то пока выигрышь не понятен.
>> есть написанные скрипты для контролов, которые загружаются при запросе
Согласен. ASP поддерживал (и поддерживает) не только Basic Script на сервере, но и JScript не сервере, если я ничего не путаю. Ключевое слово "на сервере"...
работает везде было сказано про один скрипт .....
а в ie работает как известно то что позволяет к бд подцепитсья ....
Ну ваобще естественно по моему вводить в запрос всё что требуется обработать на стороне сревера .... причём на стороне сервера обрабатывается не более 70% данных ..... можно ли например часть обработки этих asp:Button проводить на клиенте ?
Насчёт "ключевое слово 'на сервере'" я ооочень даже несогласен ....
Да одни проблемы из за того что всё делается на сервере ....
Это в окнце концов плохой стиль не проверять валидность email и наличие
пароля как в этом форуме на клиенте .... Очень часто можно избежать клиентскими скриптами львиной доли обращений к серверу .....
Я весьма признателен Вам за Ваши замечания, но позвольте мне не согласиться с Вашим утверждением об обработке 70% данных на сервере.
Моя весьма субъективная точка зрения: 100%.
Я совсем запамятовал, что такого хорошего и скриптового есть в моем любимом lynx'е;-). И насколько безопасен JavaScript, особенно с "мультиформами"?
Ну начнём с того что пользователи lynx изначально свободны всилу их меньшенства. В расчёт здраво брать IE Mozilla и Opera (указаны в порядке убывания важности) . 100% ? ну а почему бы например набирая новость для этого же допустим сайта не посмотреть у себя в броузере на _клиентской_
стороне prewiev ? Почему бы внесто полного перезагруза страницы не использовать загрузку только того ,что надо и только тогда, когда надо ?
(речь не идёт о frame потому как использование фреймов плохой стиль).
Позвольте, можно ли через "мультиформу" "увести" некоторый файл от клиента на сервер? Можно ли через JavaScript на стороне клиента "сабмитнуть" (извините за новояз) эту форму?
А вот как по мне, так разумнее жертвовать трафиком и все исполнять на сервере, чем зависеть от конкретного браузера или виртуальной машины. Это вносит огромную неоднозначность в результаты выполнения и избыточность в код, а также привязывает пользователя к определенным программынм прдуктам.
Да можно сабмитить формы это не вызывает больших сложностей ....
Насчёт файлов я обычно открываю небольшое диалоговое окно ....
Например надо закачать картинку открываем окошко закачиваем и отображаем в первоначальном окне .....
Скажу честно, меня интересует вопрос: что лучше предлажить пользователям в качестве обработчика Web-запросов на сервере. (Естественно, только Linux-сервере, мое мягко скажем, отношение к мелкомягким общеизвестно!)
Такие тут вот альтернативы:
1. mono - это шанс "играть на чужом поле". Xммм...
2. Tomcat (+ Struts + J2EE)- хорошо, пока предлагается, но JIT под Linux сам видел как валится при недетерминированном числе тредов (даже под zLinux, на "старших юниксах" и z/OS USS не валится).
3. apache native API - хорошо, но где взять простейший tutorial не по CGI, а именно по native. (То же и для Tux'а)
4. IBM VA Smalltalk - отлично, но стоит как авианосец.
Так что мне посоветоваться и выслушать все точки зрения всегда полезно.
Так, собственно и сделана дроставка фапйлов скриншотов на LOR.
На Java сервлет для восприятия файла от сервера могу запостить.
(Как тут без обработчика на стороне сервера?)
Вопрос в том, может ли JavaScript инициировать передачу некого файла без корректного и _осознанного_ нажатия пользователя на submit, а при загрузке странице? Если это так, то дыра в защите, однако...
PS. Куда, кстати, подевался наш любитель lynx'а? ;-). Он Вам покажет!;-)))
Да вовсе и не так она у вас сделана .....
обьясняю как закачать файл без скачки какой либо странцы
и с единственным обращением к серверу только чтоб отдать файл
при нажатии кнопки "закачать" открывается пустое окно в которое скрипт же пишет содержимое поволяющее закачать файл .....и потом при нажатии кнопки закачать файл заливается и об успешности операции сообщается родительскому окну .....
сдесь сделано далеко не так .....
Насчёт всех этих ухищрений java ..... да от лукавого это всё ...
намного удобнее писать допустим на php или другом скрипте а уже узкие места на С ...... стабильность выше а производительность соизмерима ....
затраты труда примерно равны ....
Если от выполнения скрипта зависит функциональность и тот же пользователь links'а не сможет работать с ресурсом то это неоправданно. В таких случаях надо писать альтернативный код, что вносит, опять таки, избыточность.
>> Насчёт всех этих ухищрений java ..... да от лукавого это всё ...
Код в студию, pls.. Свой код на Java я могу представить.
>> другом скрипте
.ASP C# - это скрипт? JSP - это скрипт? Нужно ли мне объяснить что такое скриптовые языки в "нагруженных" серверах? Чай не для домашних страничек JSP юзают! Спросите по поводу скриптовых языков у некого господина, покинувшего безвременно наш форум.;-) Он Вам очень популярно и в _вежливых_ выражениях это объяснит. А также объяснит, что для IL код будет гнать не только COBOL и Fortran, а и его любимый функциональный F#.
http://linuxportal.ru/en/category.php
вот сдесь сделано так как я говорил только это не окончательный вариант - есть код получше там где ваобще не обращается на сервер до закачки ... но он щас не лежит на публичном месте .... а так писать громоздко ....
окончательный вариант представлю позже ;)
Очень боюсь быть голословным уж извините вот как это сделать это черновик но мысль и суть ясна
<html>
<script>
function upload(){
var win=window.open("about:blank");
var inh='<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head><body><center><form enctype="multipart/form-data" action="/en/upload.php" method="post">';
inh+='<input type="hidden" name="MAX_FILE_SIZE" value="10000">';
inh+='<input name="image" type="file"><input type="submit" value="Туда"></form></center></body></html>
';
win.document.write(inh);
}
</script>
<input type=button value='choose' onclick='upload()'>
</html>
Супер! Если "повесим" это не на клик, а на загрузку страниц, то специалисты по безопасности могут смело идти на покой.
Только вот у меня в Mozille сей великолепный скриптовый код (в отличие от Java/C# каббалистики) не работает. Так что не все так уж в этой жизни и плохо!;-))
ведь прошу же не судить лихо у меня он в mozille реботает
это черновик .....
насчёт win.document.write(); извините а какая опасность писать во мною же созданное окно ?
нет в мозилле точно пашет ....
во вторых как видишь это саммый навороченный вариант .... посмотри отлаженный предыдущий .... там пашет всё и во всех броузерах
как видишь всё что делаю я не отвергает твоих трудов просто таким нехитрым макаром мы:
1) Уменьшаем нагрузку на сервер
2) Меньше заставляем ждать пользователя
3) Пользовательский интерфейс становится удобнее и понятнее
Ну если судить по количеству кода, который должен написать разработчик для поддержки загрузки файла, то здесь явно выигрывает ПХП.
Там есть функция move_upload_file() и ассоц массив $_FILES со всей инфой о загруженных файлах.
На обычном ASP сделать аплоад тоже нужно было писать много кода.
Как это делаеться в ASP.NET еще не разобрался.
Кстати, я тоже собрал этот XSP то при выполнии запроса, он не отдает ничего. И просто остаеться висеть в памяти до kill
> Вопрос в том, может ли JavaScript инициировать передачу некого файла
> без корректного и _осознанного_ нажатия пользователя на submit, а при
> загрузке странице? Если это так, то дыра в защите, однако...
В IE был баг позволяющий именно так и делать. Последовательность проста. JavaScript посылает управляющие команды ctrl-c, change focus, ctrl-v на поле <input type="file" и затем делает submit этой формы. Таким образом можно выкачивать без ведома пользователя любые файлы с его машины.
Сейчас не знаю исправили или нет, но проблема оказалась тогда более фундаментальной чтобы решить ее с помощью простой заплатки.
> Ну если судить по количеству кода, который должен написать
> разработчик для поддержки загрузки файла, то здесь явно
> выигрывает ПХП.
> Там есть функция move_upload_file() и ассоц массив $_FILES со всей
> инфой о загруженных файлах.
Точно также просто в Java. Вот мой код:
import com.ibm.useful.http.*;
...
public boolean upload(HttpServletRequest request, String parameter) {
boolean result = true;
try {
if (request.getContentType().indexOf("multipart/form-data")!=-1) {
PostData multidata = new PostData(request);
FileData tempFile = multidata.getFileData(parameter);
String fileName = tempFile.getFileName();
FileOutputStream fos = new FileOutputStream(new File(dir, fileName));
fos.write(tempFile.getByteData());
fos.close();
} else {
result = false;
} // if
} catch (Exception ex) {
result = false;
} // try-catch
return result;
} // boolean upload(HttpServletRequest, String)
А PHP много где проигрывает и в скорости тоже.
NikS ты кнешно извини тока я никак понять не могу чем это я те тек сикурность то нарушил ?
Обьясни мне пожалуста это как это я буду хакнут ....
кстати диалог это только вариант которым пользусь я ..... могу показать как аплодить файл на сервер без открытия окон ......
P.S. Извини кнешно по моему ты просто протов всего того чего сам не знаешь ....
Можно немного оффтопика?
Все время все повторяют "фрейм - плохой стиль, фрейм - плохой стиль".
Кто-нить, объясните в чем его "плохость" или это из той же серии
"не используйте goto"?
Ну не знаю как остальные, а я предпочитаю все данные от форм обрабатывать на сервере, по причине того что еще неизвестно что мне может прилететь от клиетна. Например расчитываю получить от супер-пуперного броузерного скрипта валидный емайл, а мне какой нить кулхацкер задвигает вместо него пару мег какогоо нибудь хлама, и что мне с ним делать ежели я только на клиентскую часть и понадеюсь?
> Struts - это, конечно, ruleZZZ, но WSAD для IBM WAS 5 тяжела, однако... (см. два предыдущих моих скриншота.)
А WSAD обязателен (если я правильно понял, это WebSphere Studio Application Developer?). Чем плох вариант использовать ant для всех плясок?
> mono - это рискованная игра на чужом поле.
+ слабый инструментарий (есть IDE сравнимое по функциональности и удобству с IDEA, eclipse ?), зачаточные технологии (уже появился аналог JUnit?).