Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Вниз

Java   Найти похожие ветки 

 
Firefly ©   (2006-01-31 23:52) [0]

Здравствуйте.
Каково ваше мнение об этом языке и среде разработки Idea?
Меня интересно, почему в нашей конторе пишут на нем.
Т.е я спрашивал у наших разработчиков. Внятных доводов "за" никто привести не смог.
Или это чисто религиозный вопрос:-))


 
Джо ©   (2006-02-01 00:45) [1]

Нужно было спросить не у разработчиков, они люди подневольные, а у их начальника.


 
DrPass ©   (2006-02-01 00:47) [2]


> Или это чисто религиозный вопрос:-))

Ага. Меня и FAR для частных случаев в качестве Java-среды разработки вполне устраивал


 
iZEN ©   (2006-02-01 07:38) [3]

Firefly ©   (31.01.06 23:52), почему бы не писать, если это востребовано?
К тому же, если это относится к разработкам для предприятия в не-Windows окружении (и вообще в гетерогенной операционной среде), то это быстрее и легче делать, нежели писать на Delphi (в инкарнации Kylix).

Сила Java (и J2EE, в частности) — это хорошая масштабируемость, кластеризация и переносимость между разными платформами. Есть сервера приложений, которые работают на разных операционных системах одинаково и вообще не надо ничего переписывать под конкретную ОС. JBoss, например.


 
Alex Konshin ©   (2006-02-01 12:05) [4]

Я много пишу на Java. Практически все мои проекты одинаково хорошо работают и под Windows, и под Unix. Собственно, они и должны работать, так задача поставлена.
Java хорошо подходит для серверных приложений по нескольким причинам. Сервер на Java непросто уронить. Это не значит, что он всегда работает корректно - как напишешь, так и будет, но уронить - трудно.
Очень помогает автоматический вывод стека вызовов при исключениях - этого здорово не хватает в Delphi.

Среда IDEA считается лучшей.
Но она не бесплатна. Есть бесплатный Eclipse, который ненамного уступает.

Кстати, я знаю одного из руководителей фирмы, что написала IDEA, он тут живет.


 
Sandman29 ©   (2006-02-01 12:09) [5]

Внятных доводов "за" никто привести не смог.

Логично. Для сравнения необходимо наличие хотя бы двух сравниваемых объектов :)


 
Bless ©   (2006-02-01 12:31) [6]

Кстати, я знаю одного из руководителей фирмы, что написала IDEA, он тут живет.


Какая загадочный руководитель :)


 
Alex Konshin ©   (2006-02-01 12:39) [7]

Bless ©   (01.02.06 12:31) [6]
Кстати, я знаю одного из руководителей фирмы, что написала IDEA, он тут живет.
Какая загадочный руководитель :)

Прочитай предложение еще раз и обращай внимание на запятые.


 
kaif ©   (2006-02-01 17:58) [8]

Меня несколько смущает то количество всяких слов, которые нужно написать, чтобы JAVA сделала какую-нибудь простую вещь.
Например, в JAVA можно нужно примерно так объявлять константы:

public MyClass {
 public static final int AAA = 5;
 public static final int BBB = 10;
}


Для сравнения на паскале это выглядит так:

const
 AAA = 5; BBB = 10;

:-)


 
wicked ©   (2006-02-01 18:12) [9]

> kaif ©   (01.02.06 17:58) [8]

> Меня несколько смущает то количество всяких слов, которые
> нужно написать, чтобы JAVA сделала какую-нибудь простую
> вещь.
> Например, в JAVA можно нужно примерно так объявлять константы:
>
>
> public MyClass {
>  public static final int AAA = 5;
>  public static final int BBB = 10;
> }
>
> Для сравнения на паскале это выглядит так:
>
> const
>  AAA = 5; BBB = 10;
> :-)

тута Ctrl+[C|V] рулит.... ;)
да и, если приглядеться, то видно, что в жаве константы типизированные... что немного дальше идет, чем простое AAA = 5...


 
DSKalugin ©   (2006-02-01 18:49) [10]


> в жаве константы типизированные... что немного дальше идет,
>  чем простое AAA = 5.


нам тоже не слабО
const  BBB:Integer = 10;


 
Firefly ©   (2006-02-02 09:38) [11]

Скорее всего, дело в
"разработкам для предприятия в не-Windows окружении (и вообще в гетерогенной операционной среде), то это быстрее и легче делать, нежели писать на Delphi (в инкарнации Kylix).". т.к. наш софт взаимодействует с Unix.


 
iZEN ©   (2006-02-02 13:16) [12]

>Firefly ©   (31.01.06 23:52)

>Здравствуйте.
>Каково ваше мнение об этом языке и среде разработки Idea?
А вы попробуйте поработать сначала недельку-другую в Delphi, потом недельку-другую в IDEA, а через месяц снова попробуйте в Delphi (допустим, стоит задача написать прототип небольшой регистрационной системы с доступом из Web для Windows).
Обещаю незабываемые ощущения.

>МнЕ интересно, почему в нашей конторе пишут на нем.
Это же элементарно: IDEA более удобна, производительность труда по сравнению с Delphi увеличивается в 2-3 раза, результат получается намного быстрее и качественнее.
>Т.е я спрашивал у наших разработчиков. Внятных доводов "за" никто привести не смог.
Доводы выше.
>Или это чисто религиозный вопрос:-))
Не без этого, конечно, но до фанатизма ещё далеко. ;-)


 
Alex Konshin ©   (2006-02-02 13:18) [13]

DSKalugin ©   (01.02.06 18:49) [10]
> в жаве константы типизированные... что немного дальше идет,
>  чем простое AAA = 5.
нам тоже не слабО
const  BBB:Integer = 10;

Слабо-слабо.
В Java константы (да и вообще все) являются членами класса.
В Delphi же нельзя написать такое:
type MyClass = class
  ...
  class const Integer BBB = 10;
  ...
end;
А ведь именно этому эквивалентно определние константы в Java.

> kaif ©   (01.02.06 17:58) [8]
> Меня несколько смущает то количество всяких слов, которые
> нужно написать, чтобы JAVA сделала какую-нибудь простую
> вещь.

А begin...end в Delphi не смущает? А то, что заголовки методов фактически нужно писать два раза (в интерфейсе и в реализации)? Я могу привести еще примеры, где в Delphi нужно писать существенно больше, чем в Java.
Синтаксис в Java намного более логичный и регулярный, в нем мало контекстных зависимостей в отличие от Pascal. В результате Java как язык намного проще.
Кстати именно как результат такого простого и логичного синтаксиса в IDE для Java (Eclipse, NetBeans 5 и особенно IDEA) и возможна реализация такого развитого рефакторинга в этих средах. Сделать что-то подобное для C++ или для Delphi намного сложнее, а зачастую и невозможно.


 
kaZaNoVa ©   (2006-02-02 13:19) [14]

Firefly ©   (31.01.06 23:52)
Каково ваше мнение об этом языке

положительное :))


 
Firefly ©   (2006-02-02 17:39) [15]

У меня сложилось мнение(по предыдущим постам), что в США Delphi пользуется гораздо меньшей популярностью, чем в exUSSR. Т.е. на вопросы по java отвечает в основном Алекс Коншин.


 
Sandman29 ©   (2006-02-02 17:46) [16]

kaif ©   (01.02.06 17:58) [8]

public static final int AAA = 5;

а можно protected static final int - с ограниченной видимостью
а можно public final int AAA - константа, значения которой могут отличаться для разных экземпляров
а можно public static int - статическая переменная

И ведь всё это отсутствует в Delphi...
Так что java рулит :)


 
seg   (2006-02-02 17:55) [17]

У меня сложилось мнение(по предыдущим постам), что в США Delphi пользуется гораздо меньшей популярностью

Это всем известно.


 
programania ©   (2006-02-02 20:13) [18]

А можно ли в Jave вернуть значения аргументов из процедуры?
и вообще есть ли в ней процедуры?
А как изменить размер массива не потеряв его содержимое
типа setLength(
А как присвоить одной ссылочной переменной значение другой
типа структуры s1,s2: record...   s1:=s2;
неужели по реквизитам присваивать
а может в jave вообще реквизитов со структурами нет?
А как переписать один массив в другой типа move(m1,m2,sizeOf(m2));
или только в цикле по байтам?
а есть ли в jave что-то типа with s[i].p[j] do begin
иначе очень громоздко, непонятно и медленно
а со строками какая морока
похоже вообще нет функций для работы со строками
только методы поэтому нельзя написать коротко:
s:=trim(copy(s,1,pos(" ",s)-1);
или можно ?
И можно ли на Java сделать законченую программму в 1 exe файле
или обязательно прилагать к ней виртуальную машину
которая в сотню раз больше?
А обработка событий 1 оператор и 3 процедуры для обработки
нажатия на пункт меню:
addMouseListener
public void jMenuItem5_mousePressed(MouseEvent e)
class Frame1_jMenuItem5_mouseAdapter
public void mousePressed(MouseEvent e)
по моему сумашедший дом или я что-то не понимаю
а есть ли нормальная визуальная среда разработки
чтоб компоненты не пропадали с формы по непонятной причине
и вообще совместимы ли все эти jBuilder Idea Eclipse и т.п.


 
Firefly ©   (2006-02-02 22:46) [19]

programania ©   (02.02.06 20:13) [18]
Можно помедленнее. я записываю(С)


 
ferr ©   (2006-02-02 22:56) [20]

Татьяна копила, копила и всё это вылила на Онегина.


 
Alex Konshin ©   (2006-02-03 00:13) [21]

procedure is a function with result type "void".
Use Vector or ArrayList if you need dynamic arrays.
To copy arrays use System.copyarray().
Delphi does not have many string processing methods that Java has. For example, split, replace that understand regular expressions. Your "short" expression usually can be done by a single Java method call.
In Delphi you can"t add several listeners for one event. In Java you can.

NetBeans 5.0 is finally released (I think it happens today).
http://www.netbeans.org/community/releases/50/
It contains Matisse - UI designer. IMHO it is the first UI designer for Java that can be used in real life. Unfortunately it uses the new layout manager that will be included in Java 1.6 but currently has to be included with your application.

JBuilder uses its own libraries.
IDEA, Eclipse and NetBeans are just IDE. They are produce plain Java code that is, of course, fully compatible to each other.

I can write the list of oddities in Delphi as well.


 
Тульский ©   (2006-02-03 09:50) [22]

Пользуясь случаем, задам вопрос по Java.
У меня java-приложения не запускаются, а выдается сообщение:
Registry key "Software\JavaSoft\Java Runtime Environment\CurrentVersion"
has value "1.1.6", but "1.2" is required.

Как это вылечить?


 
wicked ©   (2006-02-03 10:06) [23]

> Тульский ©   (03.02.06 09:50) [22]
явно же пишет - "у тебя JRE версии 1.1.6, а я хочу JRE версии 1.2".... упгрейдить JRE нужно..... качаем с http://java.sun.com последнюю версию J2SE, ставим и имеем щасье... .


 
Тульский ©   (2006-02-03 10:15) [24]


> wicked ©   (03.02.06 10:06) [23]

дык, она это пишет даже когда я выполняю без приложения одну команду java : C:\java

Каким образом она тогда узнаёт, что ей нужен апгрейд?


 
wicked ©   (2006-02-03 10:28) [25]

значит не совпадает актуальная версия JRE и та, что прописана в реестре....
скачай, поставь, посмотри.... я не гуру, но думаю, что это поможет...


 
Alex Konshin ©   (2006-02-03 13:11) [26]

У тебя исполняется java.exe из %windir%\system32. Этот бинарник и не java вовсе, а редиректор. Он читает регистри и пытается запустить Java, которая там прописана.
Лечить - переустановить JRE или JDK(который включает JRE).
На http://java.sun.com справа найди ссылку "J2SE 5.0", а там качай "JDK 5.0 Update 6" или "JRE 5.0 Update 6".


 
pasha_golub ©   (2006-02-03 13:52) [27]

А я люблю Паскаль, и Делфи в частности. :0)
И очень не люблю Java-приложения, тормоза жюткие. Кроме кроссплатформенности плюсов для энд-юзера никаких. Вот, щас, сижу орудую в EDB-Studio 2006 - клиент для EnterpriseDB - ну эта ж капец. Про ГУИ вообще молчу, все коряво и не кузяво (не только у EDBStudio). Думаю Gero (c) поддержит. ;-)

ЗЫ Я - фанатик! ;0)


 
Alex Konshin ©   (2006-02-03 14:04) [28]

Это только говорит о том, что любую хорошую вещь можно испортить. И ни Delphi, ни Java - не исключения. Например, по внешнему виду Eclipse ты даже не поймешь, что это - Java, потому что там все рисуется нативно, т.е. это типичное Win32 приложение, но написано на Java. В Java5 много внимания было уделено внешенему виду. Напрмер,тот же NetBeans выглядит вполне прилично, хотя он вроде как на swing сделан. Вообще-то UI - не конек Java, ее конек - серверные приложения. Но есть написанные на Java приложения, в которых очень много графики.


 
pasha_golub ©   (2006-02-03 14:14) [29]


> Alex Konshin ©   (03.02.06 14:04) [28]


> Вообще-то UI - не конек Java

Очень жаль, если честно. Ибо ограничиваться только лишь серверными приложениями, это как маловато, что-ли...

А можно примеры новых приложений приятных для глазу? Мало ли, мож действительно все поменялось.

Алекс, а как кстати вы относитесь к вилке Java vs .NET?


 
McSimm ©   (2006-02-03 14:22) [30]


> А можно примеры новых приложений приятных для глазу?

Zend Studio Client

меня UI устраивает полностью


 
McSimm ©   (2006-02-03 14:23) [31]

а вот кроссплатформенность - не совсем :)


 
pasha_golub ©   (2006-02-03 14:34) [32]


> McSimm ©   (03.02.06 14:22) [30]


> Zend Studio Client

Только одну картинку нашел. Но в статике смотрится хорошо, мне понравилось. А как дела обстоят в динамике? layout"ы не страдают? А то у меня почему-то в диалогах Джавовских всегда то кнопа куда-то залезет, то ишо чего...


 
McSimm ©   (2006-02-03 14:43) [33]

никаких неудобств с интерфейсом не наблюдал.
т.е. при работе про интерфейс вообще не думаешь. (ю)
разнообразные эффекты со сворачиванием кода, выпадающие подсказки (несколько уровней) code-completion и прочие вкусности среды - никаких нареканий.


 
Alex Konshin ©   (2006-02-03 14:54) [34]

У С# есть одно преимущество - это гибрид Java и Delphi. От Delphi там компонентная модель и дезайнер UI. Но они неоправдано усложнили язык, добавили плохо читаемые конструкции и т.п.. Короче изменения в духе MS. В результате они потеряли ту простоту и логичность языка, что была в Java, потеряли многоплатформенность и переносимость. Да, я знаю, что есть порты на   другие системы, но это уже именно порты, и там они никогда не будут чуствовать себя родными.
То есть, если нужно писать что-то с развитым UI и только под Windows, то C# подойдет.
Кстати, я уже упоминал, что вышел новый NetBeans. Так вот там UI дезайнер уже более-менее разумный и им реально может пользоваться нормальный человек с неизвращенной логикой. Все, что я видел до этого - не для нормальных людей. Видимо этим и объясняется малочисленность Java приложений с прилично выглядящим UI.

Что привести в качестве примера? Никогда не задавался такой целью. Ну можешь посмотреть примеры на http://code.j3d.org/examples.html
Но это уже 3D. Можешь посмотреть игрушки на http://java.com/en/games/ но есть ли там что-то достойное - не знаю. Могу дать ссылку на проект друга, может заодно кого заинтересует: http://www.fourthelephant.com/ Это вроде какой-то навороченный монитор для Oracle. Собственно, я этот проект не видел живьем, но я ему доверяю, он умеет писать. Он, кстати, тоже работал в JetBrains (что IDEA написали).


 
iZEN ©   (2006-02-03 17:02) [35]

Однако забыли про мобильную Java.

Мобильная ICQ: http://jimm.org/
Opera mini: http://www.opera.com/products/mobile/operamini/


 
Firefly ©   (2006-02-03 17:10) [36]

>McSimm ©   (03.02.06 14:43) [33]
А можно поподробнее?
Получается, главный довод в пользу java - небесспорен?


 
McSimm ©   (2006-02-03 17:27) [37]


> Firefly ©   (03.02.06 17:10) [36]

вы про [31]? (кроссплатформенность)

не думаю, что стоит на это обращать внимание, т.к. речь о конкретной программе.
подробнее - никакие танцы с бубнами, с приездом квалифицированного шамана, с использованием разнообразных сочетаний/перестановок версий не позволили добиться удовлетворительной работы ZendStudio Client под FreeBSD 5.4
Что, впрочем, никто и не обещал (в списке поддерживаемых OS вышеозначенная не числится)


 
iZEN ©   (2006-02-03 21:00) [38]

McSimm ©   (03.02.06 17:27) [37], ведь недаром Sun Microsystem отозвала у FreeBSD лицензию на Java.
Значит не выдержали совместимости.

Кстати проверьте, может быть ZendStudio был откомпилирован в среде Java2 1.5, а в системе стояла Java2 1.4 (достаточно посмотреть файл META-INF/MANIFEST.MF в любом из jar-файлов ZendStudio любым zip-архиватором). Если так, тогда понятно, почему не работало.


 
programania ©   (2006-02-03 21:52) [39]

>Alex Konshin ©   (03.02.06 00:13) [21]

>procedure is a function with result type "void".

но ее можно обьявить только в классе а там это считается метод
но дело не в названии главное невозможно вернуть значения аргументов
т.е. аргументы передаются по значению и нет аргументов ссылок как var в delphi

>Delphi does not have many string processing methods that Java has.

и наоборот, но дело не количестве, а в том что
в delphi это процедуры и функции а не методы и их удобней применять,
а регулярные выражения есть и в delphi как дополнительный модуль RegExpr

>Your "short" expression usually can be done by a single Java method call.

Тогда придется делать слишком много методов и разобраться в их параметрах
и даже просто найти нужный будет много сложнее чем использовать несколько простых.


>JBuilder uses its own libraries.
>IDEA, Eclipse and NetBeans are just IDE.

Похоже что лучше по возможности поменьше применять компоненты java
иначе возможна несовместимость с разными IDE или linux
или еще читал что не со всеми компонентами возможны exe

и вообще какие компоненты лучше Swing AWT Beans или еще что есть?
ведь они во многом дублируются

>In Delphi you can"t add several listeners for one event. In Java you can.

а зачем?
мне бы вообще хватило одного обработчика на все события
а в нем по свойствам ActionEvent уже нетрудно сделать все что нужно
но не знаю как его добавить

>I can write the list of oddities in Delphi as well.

в delphi я их уже не замечаю а с java недавно
и не могу понять что oddities а что "так надо"
Поэтому спасибо за ответы специалиста

Кстати, вот еще недостаток java намного меньше русской дукументации чем для delphi
вот даже и тут заметно


 
iZEN ©   (2006-02-04 01:52) [40]

programania ©   (03.02.06 21:52) [39],
по Java много русской документации и книг по РАЗНЫМ темам. Нужно просто уметь искать.
По J2EE книг очень много (EJB, JSP, JDBC, JMS, JAXP, SOAP  и т.д.).
По J2SE книг столько же, сколько по Delphi (основы и подробные справочники, спец. издания по AWT/JFC/Swing, Securiy).
По J2ME книг практически нет (я знаю всего три книги на русском языке, одна из которых уже не издаётся).

По Delphi книг много, но все они ОДИНАКОВЫ, только способ изложения отличается от примитивного до въедливого.


 
pasha_golub ©   (2006-02-04 18:56) [41]


> Могу дать ссылку на проект друга, может заодно кого заинтересует:
>  http://www.fourthelephant.com/


GUI явно понравился. Видимо, все что рисуется руками, можно сделать красиво, а все что "стандартно", то стандартно и по виду...


 
Firefly ©   (2006-02-04 18:58) [42]

>[40] iZEN ©   (04.02.06 01:52)
Можете дать ссылки?


 
iZEN ©   (2006-02-04 20:06) [43]

Firefly ©   (04.02.06 18:58) [42]

Список издательств, выпускающих книги, говорит сам за себя:
www.bhv.ru
www.binom-press.ru
www.dialektika.com
www.dmk-press.ru
www.lory-press.ru
www.okc.ru:8080
www.piter.com
www.williamspublishing.com
www.wnk.biz
Воспользуйтесь поиском на них и всё найдёте.


 
Firefly ©   (2006-02-05 17:36) [44]

Спасибо.
По поводу ГУИ - в java он создается через ?:%?%. ИМХО(сейчас сижу рисую оконные элементы).


 
kaif ©   (2006-02-05 22:55) [45]

Если попытаться в середине текста на JAVA поднять исключение, то компилироваться такой проект не будет. Это нормально?

try {
 //здесь код
 throw new Exception("Здесь мне шиза в голову ударила проверить, как все будет работать на практике, если здесь возникнет исключительная ситуация")
 //и здесь код
}
catch (Exception e) {
 //здесь вывод сообщения
}

Так вот компилятор скажет, что код после строки, в которой я искуственно поднял исключение, никогда не будет выполнен и откажется компилировать программу. Почему JAVA за меня решает, что мне нужно, а что нет? Это у джавистов так принято, что ли?
Например, Tomcat позволяет себе давать сообщения в таком духе
"это слово неправильное - удали это слово".
Почему Джава или Джаваобразные продукты не могут просто сказать "не понимаю, не нашла, не вижу"? (Как это делают скромные, но весьма шустрые компиляторы с языка Паскаль, например)
Почему вместо этого Джава говорит "неправильно написал, выкинь, удали, здесь нет того, здесь должно быть это..."?

Если бы она при этом поминутно не говорила чушь, то я бы это еще как-то готов был терпеть. Но когда она говорит "такого метода нет", а на самом деле имеется в виду "чувак, ты, возможно, забыл параметр, так как я не могу найти перегружаемого метода с таким набором параметров", то это иногда начинает просто раздаражать.

А вот как вам такая конструкция?

     String anyName = g == 5 ? "Вася" : "Маша";

Это работает так: если g равно 5, то правая часть вернет "Вася", а в противном случае - "Маша".
Замечательно.
JAVA это съест и вовсе не будет возражать. Скобок перед ? она не потребует. Хотя требует их после любого if

Так вот теперь самое интересное. Давайте вместо "Маша" подставим еще еще один такой оператор.

    String anyName = g == 5 ? "Вася" : b == 10 ? "Киса" : "Маша";

Если не ставить скобки в таких местах легко можно получить сообщение о том, что в строке ожидается тип boolean, а найден String.

ИМХО, правильнее было бы требовать скобок изначально.

     String anyName = (g == 5) ? ("Вася" ) : ("Маша");


 
Petr V. Abramov ©   (2006-02-06 00:47) [46]

> Так вот компилятор скажет, что код после строки, в которой я
> искуственно поднял исключение, никогда не будет выполнен и откажется
> компилировать программу.
 А у кода "после строки "есть шанс выполниться? Если нету, то, может,  это передний фронт борьбы с программами с warning`ами компилятора? При использовании Delphi с хинтами и варнингами приходится бороться административными методами, что чего-то стОит. А тут идея " в корне зло пресечь"?


 
Sandman29 ©   (2006-02-06 09:25) [47]

try {
//здесь код
throw new Exception("Здесь мне шиза в голову ударила проверить, как все будет работать на практике, если здесь возникнет исключительная ситуация")
//и здесь код
}
catch (Exception e) {
//здесь вывод сообщения
}


Попробуйте заменить на

try {
//здесь код
KaifUtils.throwNewException();
//и здесь код
}
catch (Exception e) {
//здесь вывод сообщения
}

и
public KaifUtils (){
 public static void throwNewException() throws Exception{
    throwNewException("Здесь мне шиза в голову ударила проверить, как все будет работать на практике, если здесь возникнет исключительная ситуация");
 }
 public static void throwNewException(String exceptionMessage) throws Exception ()
    throw new Exception(exceptionMessage);
 }
}


 
Lamer@fools.ua ©   (2006-02-06 11:08) [48]

>String anyName = g == 5 ? "Вася" : b == 10 ? "Киса" : "Маша";

И кто Вас заставляет писать плохочитаемый код?


 
iZEN ©   (2006-02-06 19:26) [49]

kaif ©   (05.02.06 22:55) [45].

В Java есть такие понятия: Checked Exceptions и Unchecked Exceptions.
Они РАЗНЫЕ и используются по-разному.

В Delphi и .Net есть одно понятие: Unchecked Exceptions.
Этим всё сказано.

Вы не знаете многого, но это не повод обвинять Java в своих "непонятках".


 
Firefly ©   (2006-02-06 21:57) [50]

Здравствуйте  еще раз.
А какую литературу(в смысле авторов) посоветуете.


 
DiamondShark ©   (2006-02-06 22:27) [51]


> И кто Вас заставляет писать плохочитаемый код?

А зачем нужны языковые излишества, которые порождают плохочитаемый код?

Оператор ?: явно лишний в языке.


> В Delphi и .Net есть одно понятие: Unchecked Exceptions.
>
> Этим всё сказано.

вот именно: всё.
Лишние языковые конструкции, зачем их городить?


 
pasha_golub ©   (2006-02-06 23:08) [52]


> DiamondShark ©   (06.02.06 22:27) [51]


> Лишние языковые конструкции, зачем их городить?

Иногда было бы неплохо. Например, я жутко тоскую по такой конструкции:

Case StringVar of
"vasya": ...
"petya": ...
else
...
end;


 
Lamer@fools.ua ©   (2006-02-06 23:32) [53]

>>DiamondShark ©   (06.02.06 22:27) [51]

>Оператор ?: явно лишний в языке.
По моему мнению не лишний, а весьма даже удобный. А моё замечание относилось к одному конкретному применению этого оператора.

З.Ы. А вот и не подерёмся...


 
iZEN ©   (2006-02-07 00:09) [54]

>DiamondShark ©   (06.02.06 22:27) [51]

>> В Delphi и .Net есть одно понятие: Unchecked Exceptions.
>> Этим всё сказано.

>вот именно: всё.
>Лишние языковые конструкции, зачем их городить?
Они не лишние (насчёт Exceptions), они взаимодополняющие, одно является более сильной формой другого.
Компилятор на этапе компиляции откажется компилировать класс с методом, в котором не обработано (try/catch) или не объявлено (throws) Checked Exception предка, но с чистой совестью откомпилирует код с Unchecked Exception. Это заставляет программиста более серьёзно отнестись к обработке исключений в приложении и соблюдать контрактное программирование.


 
Evgeny V ©   (2006-02-07 07:23) [55]


> Firefly ©   (06.02.06 21:57) [50]
> Здравствуйте  еще раз.
> А какую литературу(в смысле авторов) посоветуете.

Мне очень понравился двухтомник авторов Кей С. Хорстманн и Гари Корнел

книга JAVA 2  том 1 "Основы" и том 2 "Тонкости программирования."
Но сам начал учить относительно недавно язык  и может кто подскажет и лучшие книги.
Но для начинающего  на мой взгляд(для меня например) - это очень хороший учебник основ.


 
pasha_golub ©   (2006-02-07 10:38) [56]

Друзья, а есть ли для Java наборы компонентов, подобные этому:
http://www.devexpress.com/Products/VCL/ExQuantumPack/

Я не с целью обкакать, действительно интересно. Прикидываю в уме возможность и трудозатраты на портирование некоего приложения, если честно.


 
DiamondShark ©   (2006-02-07 11:30) [57]


> Например, я жутко тоскую по такой конструкции:

А я наоборот, никогда не испытывал потребности в такой конструкции.

И кроме всего прочего, эта конструкция содержит скрытую сложность.
Видимая простота использования провоцирует на создание крайне неэффективного кода.


> По моему мнению не лишний, а весьма даже удобный.

Чем удобный-то? Строки исходника экономить?


 
Sandman29 ©   (2006-02-07 11:41) [58]

DiamondShark ©   (07.02.06 11:30) [57]

Одной из приятных ваозможностей С#: в операторе switch можно использовать строковую переменную, сравниваемую в операторах case со строковыми константами...[skipped] На самом деле, благодаря технологии интернирования строк, заключающейся в поддержке таблицы всех уникальных строк, используемых программой, он работает гораздо быстрее, чем может показаться.Петцольд.

Чем удобный-то? Строки исходника экономить?

1. Более читабельный.
MaximumNumberOfBuiltUnits = a > b? a: b;

if (a > b)
 MaximumNumberOfBuiltUnits = a;
else
 MaximumNumberOfBuiltUnits = b;

2. Не требующий заведения локальных переменных в случае
MyObjectArray[I].MyObject.MaximumNumberOfBuiltUnits = a > b? a: b;


 
Lamer@fools.ua ©   (2006-02-07 13:03) [59]

>>DiamondShark ©   (07.02.06 11:30) [57]

>Чем удобный-то? Строки исходника экономить?
Удобство — вещь в большОй мере субъективная. Спорить о субъективных вещах я не намерен.


 
iZEN ©   (2006-02-07 14:48) [60]

>pasha_golub ©   (07.02.06 10:38) [56]

>Друзья, а есть ли для Java наборы компонентов, подобные этому:
>http://www.devexpress.com/Products/VCL/ExQuantumPack/

>Я не с целью обкакать, действительно интересно. Прикидываю в уме >возможность и трудозатраты на портирование некоего приложения, если честно.

Да и не только. На основе Swing можно сконструировать какие угодно виджеты со скинами разных операционных систем (MacOS Aqua, UNIX CDE/Motif, Windows/XPTheme, Java/Metal, Java/Ocean).


 
pasha_golub ©   (2006-02-07 14:59) [61]


> iZEN ©   (07.02.06 14:48) [60]


> На основе Swing можно сконструировать

Ключевое слово "сконструировать". А чтобы не конструировать, а использовать сторонее? Ибо конструирование - это время которого обычно нету.


 
iZEN ©   (2006-02-07 16:37) [62]

pasha_golub ©   (07.02.06 14:59) [61], там не так много конструировать.


 
pasha_golub ©   (2006-02-07 18:13) [63]


> iZEN ©   (07.02.06 16:37) [62]


Да ну... Хорошо, давай примерчик попробуем разобрать (не портировать) ). Например, TcxTreeList. Вот список его фич: http://www.devexpress.com/Products/VCL/ExQuantumTreeList/Features.xml

Хотя, конечно, сухой текст врядли предоставит всю информацию. Было б замечательно его попробовать самому.


 
iZEN ©   (2006-02-07 18:27) [64]

pasha_golub ©   (07.02.06 18:13) [63]

См. http://izen.dev.juga.ru/downloads/swingexamples.zip


 
kaif ©   (2006-02-07 21:43) [65]

2 iZEN ©  
Странно, но в Delphi непонятки у меня просто не возникают.
А в JAVA постоянно сталкиваюсь с непонятками и преодолеваю трудности там, где их, казалось бы, не должно было быть вообще.
Вот. например, как получилось, что класс Date существует как в пакете java.util.Date, так и в пакете java.sql.Date ?

То есть если разработчик многократно использовал в тексте конструкции вроде Date d = new Date(), то как только ему понадобится заюзать sql-запрос и он проимпортирует пакет java.sql.*, компилятор начнет ругаться на весь предыдущий код, сообщая, что Date - двусмысленное понятие. И все места в тексте придется переделывать на

java.util.Date d = new java.util.Date().

Разумеется, такому разработчику можно сказать "ну дык ты дурак, ты сначала джаву изучи, а потом начинай на ней программировать". вопрос лишь в том, как не программипруя реальные задачи научиться программировать. И и нтересно, почему другие языки подобные фортели  не выкидывают. По крайней мере в классах своих основных системных библиотек.

Для того чтобы просто правильно отформатировать дату сегодня я потерял более двух часов. В конце концов я пришел к выводу, что использовать константу Calendar.MONTH нельзя вообще, так как метод get(Calendar.MONTH) класса Calendar работает не так, как сказано в документации (для любой даты возвращает 1). А DateFormat на строку вида "yyyy-MM-dd" вернул для 7-го февраля 22-й месяц (2006-22-07).
В результате мне пришлось для надежности переделать все SQL-запросы на параметрические и передавать в них параметрами даты, так как я не мог быть уверен, что смогу правильно сформатировать простейшее "2006-02-07" для прямой подстановки в текст запроса для ORACLE (у меня запросы создаются динамически).

еще хотелось бы понять, зачем изучать эту самую Джаву, если методы в ней устаревают со скоростью света. Чтобы не быть голословным приведу хотя бы список методов того же класса Date (который в sql), который у меня сейчас перед глазамив в JAVADOC:

getHours()
         Deprecated.  
int getMinutes()
         Deprecated.  
int getSeconds()
         Deprecated.  
void setHours(int i)
         Deprecated.  
void setMinutes(int i)
         Deprecated.  
void setSeconds(int i)
         Deprecated.  
void setTime(long date)
         Sets an existing Date object using the given milliseconds time value.
String toString()
         Formats a date in the date escape format yyyy-mm-dd.
static Date valueOf(String s)
         Converts a string in JDBC date escape format to a Date value.


 
iZEN ©   (2006-02-08 02:00) [66]

>kaif ©   (07.02.06 21:43) [65]
>еще хотелось бы понять, зачем изучать эту самую Джаву, если методы в ней >устаревают со скоростью света. Чтобы не быть голословным приведу хотя бы >список методов того же класса Date (который в sql), который у меня сейчас >перед глазамив в JAVADOC:
>
>getHours()
>         Deprecated.  
>int getMinutes()
>         Deprecated.
Вам надо книжку Джеймса Гослинга почитать.
Deprecated-методы — это т.н. "устаревшие" методы, которые возможно не будут поддерживаться в новых версиях Java, но вполне корректно работают сейчас (если почитать исходники, то можно увидеть, что вызовы этих методов часто подменяют "новыми" методами). Это нужно для обратной совместимости новых JRE со старыми приложениями, которые были написаны до 2000г.

В учебнике Гослинга, а так же в JDBC-руководстве есть раздел, посвящённый работе с датами. Там объясняется, почему есть два класса java.util.Date и java.sql.Date. Об этом нужно помнить.

И ещё.
java.util.Date — это несовсем подходящий класс для манипулирования временными отрезками и форматирования. Везде советуют использовать java.util.Calendar. Не будет проблем с временными зонами.


 
Evgeny V ©   (2006-02-08 09:04) [67]


> >kaif ©   (07.02.06 21:43) [65]
> >еще хотелось бы понять, зачем изучать эту самую Джаву,
> если методы в ней >устаревают со скоростью света.

Думаю это нормальное эволюционное явление, язык, система развивается, растет, исправляются недочеты. То можно сказать и об АПИ Windows, в MSDN можно встретить функции, о которых написано, что они оставлены для совместимости и лучше пользоваться другими. Тут скорее психологический момент, просто когда пишу на дельфи, то с этим обычно не сталкиваюсь, поскольку проблему выбора той или иной АПИ функции ОС как правило за меня решили разработчики языка программирования.   В JAVA выбираешь сам.


 
Lamer@fools.ua ©   (2006-02-08 09:14) [68]

>Тут скорее психологический момент, просто когда пишу на дельфи, то с этим обычно не сталкиваюсь

"Ага, конечно!" ©

Forms.pas:
function MakeObjectInstance(Method: TWndMethod): Pointer; deprecated; { moved to Classes.pas }
{$EXTERNALSYM MakeObjectInstance}
procedure FreeObjectInstance(ObjectInstance: Pointer);    deprecated; { moved to Classes.pas }
{$EXTERNALSYM FreeObjectInstance}

function  Subclass3DWnd(Wnd: HWnd): Boolean;     deprecated;  { obsolete }
procedure Subclass3DDlg(Wnd: HWnd; Flags: Word); deprecated;  { obsolete }
procedure SetAutoSubClass(Enable: Boolean);      deprecated;  { obsolete }
function AllocateHWnd(Method: TWndMethod): HWND; deprecated;  { moved to Classes.pas }
{$EXTERNALSYM AllocateHWnd}
procedure DeallocateHWnd(Wnd: HWND);             deprecated;  { moved to Classes.pas }
{$EXTERNALSYM DeallocateHWnd}
procedure DoneCtl3D;                             deprecated;  { obsolete }
procedure InitCtl3D;                             deprecated;  { obsolete }


 
Sandman29 ©   (2006-02-08 09:19) [69]

kaif ©   (07.02.06 21:43) [65]

Я как-то в модуль добавил uses Graphics и стал получать кучу ошибок о несовместимости TBitmap.
Но это еще фигня.
Если в unit2 есть procedure F и в unit3 есть procedure F, то в unit1 становится очень важен порядок перечисления этих модулей в uses. Причем даже warning не выдается!


 
Evgeny V ©   (2006-02-08 10:03) [70]

Lamer@fools.ua ©   (08.02.06 09:14) [68] LOL
Это только подтверждает - что все развивается,  в том числе и дельфи:-)))
пользуйтесь другим.:-)))


 
kaif ©   (2006-02-08 10:05) [71]

Я всего лишь делюсь своими впечатлениями от Джавы. Если бы я был адептом джавы, то, разумеется, нахваливал бы ее, так как вряд ли кто-то может стать адептом в области, которая ему не нравится. Поэтому для меня мнение "непрофессионалов" в каком-то смысле объективнее, чем мнение адептов, если речь идет о предпочтениях.

После того, как iZEN высказал предположение, что именно незнание каких-то тонкостей джавы создает у меня негативные эмоции, а вовсе не сама реальнось, я задумался над этим и нашел (для себя, по крайней мере) один контраргумент.

Дело в том, что в основном я работаю в связке Delphi+Firebird. Но возникла срочная и очень сложная (по самой задаче) работа, в которой требованием заказчика была связка JAVA + ORACLE (сервлетное приложение для Tomcat). Так что мне пришлось в сжатые сроки (полтора месяца) осваивать практически с нуля как JAVA, так и ORACLE.

Так вот против JAVA у меня не было никакого предубеждения. Более того, читая книгу Хортона, я проникся восхищением к ряду моментов (DAVADOC, поддержка UNICODE, стиль объявления и имплементирования интерфейсов и т.п.). А к ORACLE у меня было предубеждение, так как я не очень люблю монстрические и дорогие продукты.

Однако когда я стал реализовывать саму задачу, с каждым днем ORACLE у меня вызывал все больший восторг, как по своим возможностям, так и по логике, которая заложена в ORACLE, как технологию.  А с JAVA происходило нечто прямо противоположное. Ряд разочарований, осложнений и изматывающая борьба с простыми вещами, несовместимость версий, плохая переносимость, несмотря на все заверения, невнятные сообщения об ошибках, глупости реализации простейших типов (вроде той же даты в миллисекундах) в какой-то момент стали переполнять чашу моей терпимости и позитивности, которая, видит Бог, достаточно глубока.

Не скажу, что мне не нравится JAVA. Просто я вижу целый ряд неудобств, просчетов и недостатков, от которыъх свободны многие коммерческие продукты.

Например, что касается обработки событий, то в Object Pascal это организовано намного изящнее. Я могу в Object Pascal, как, впрочем и в СИ, объявить прототипы структур или типизированные указатели на процедуры и методы:
type
 PMyRecord = ^TMyRecord;
 TMyRecord = record
    a: integer;
    b: array [0..3] of byte;
 end;

 myprocedure = procedure(a: integer; b: PChar);

И вообще предварительные определения в интерфейсах или заголовочных файлах (прямо в модуле), возможность объединять тексты классов в модули (файлы), все это мне кажется удобным и логичным.

В JAVA все это (или почти все) запрещено. К сожалению.
Непонятно, что препятствует, например, тому, чтобы ряд классов объявлялся в одном текстовом файле? Неужели хранение каждого класса в отдельном файле это требование ООП? Это же кошмар какой-то... А эти "дружественные" классы в пределах пакета?... Когда при попытке создать потомка от какого-нибудь "внутреннего" для пакета класса сталкиваешься с проблемой того, что ряд вещей доступен из пакета, но не доступен извне, только потому что они "вне пакета". Это что, парадигма ООП? Очень сомневаюсь.

Если бы джависты занялись издательством книг, то неужели они потребовали бы писателей помещать каждый абзац (или каждое предложение) в отдельную книгу с переплетом, а затем еще все это переплетать вместе, засовывая в целлофан марки "zip", переименованный в марку "jar" ?

Так что к джава у меня как ряд одобрений, так и ряд нареканий. Мне кажется, что в джава часто скудность мышления и убогость маскируется громким термином ООП. Я не вижу изящества в JAVA, особенно в синтаксисе, предложенном в JDK 1.5 с их типизациями в объявлениях(<String>,<Key>) и т.п. Вообще проникновение угловых скобок в программирование, ИМХО, портит все, что только можно было испортить. Когда смотришь на такие вещи, не очень-то понимаешь, какого черта это все понадобилось. Не проще ли было смириться и ввести тип variant? У меня код, работающий под JDK1.4 компилируется под JDK1.5 со страшными хинтами вроде "unsafe methods", а при переделке под JDK 1.5 (вставляю все эти уродские <String> в простые команды типа new ArrayList()), перестает компилироваться под 1.4


 
Sandman29 ©   (2006-02-08 10:20) [72]

kaif ©   (08.02.06 10:05) [71]

1. Я не адепт Java и знаю его гораздо хуже Delphi.
2. Почитайте про protected. Доступно и из пакета, и из потомков.
3. Дублирование объявлений в interface и implementation - очень плохая идея. Даже в C# от нее отказались.
4. В одном файле можно объявлять кучу классов. И вложенных, и обычных. Только они будут private.
5. <type> - мощнейший контроль типов. Delphi с его Variant отдыхает.
6. А при переводе проекта с Delphi 3 на Delphi 7 Вы тоже требуете, чтобы новую версию можно было загружать в старом IDE?


 
Evgeny V ©   (2006-02-08 10:46) [73]


> kaif ©   (08.02.06 10:05) [71]
>
> Вообще проникновение угловых скобок в программирование,
> ИМХО, портит все, что только можно было испортить


Ну вообще-то это было еще и до JAVA, в том же С++ шаблоны templates. библиотека STL например. Кстати шаблоны (Generic классы) просто стали поддерживаться с версси 1,5 в JAVA, если конечно не ошибаюсь.

Кстати я так же как и Вы сталкиваюсь со многими из тех проблем, что вы описали. Но пока считаю их все же больше своими проблемами плохого знания языка. Но честно говоря мне нравится язык, меня больше беспокоит то, что мне еще трудно ориентироваться в технологиях JAVA, J2EE в частности. Очень много разнообразных продуктов и мне как мало знающему в этой области просто невозможно оценить эффективность того или иного. С MS продуктами в этом плане проще, тут просто нет выбора (шутка, выбор есть конечно):-)).  Советы профессионалов отличаются друг от друга зачастую, но оно и понятно, вкусы у всех разные.
Мне кажется, что так же много можно услышать нареканий и тех, кто после дельфи переходит например на MFC и С++, и как я и говорил про скобки <> тоже:-))


 
seg   (2006-02-08 10:55) [74]

kaif ©   (08.02.06 10:05) [71]

Согласен полностью.


 
Evgeny V ©   (2006-02-08 11:29) [75]

Кстати, увлекся и забыл

> kaif ©   (08.02.06 10:05) [71]
> Непонятно, что препятствует, например, тому, чтобы ряд классов
> объявлялся в одном текстовом файле?
</I

Можно объявить в одном файле несколько классов, ограничение есть на то, что public один класс в этом файле.  Кстати, думаю что все равно не смогу убедить проивников языка, но объяснение почти всех выше приведенных Вами вопросов к языку JAVA, ну кроме <> , рассматриваются в книге Кея Хорстманна и Гарри Корнелла "Библиотека профессионала JAVA2 " Том1 "Основы". Буквально на первых 130 страницах (ну побольше конечно)рассматривается большинство их перечисленного вами. Когда я сам читал, что и как и почему решили убрать из языка- сожалел (сам начинал писать на С, потом С++), что нет того или иного, но тут или смириться или понять, или писать на другом языке, другой платформе.:-))


 
Sandman29 ©   (2006-02-08 11:46) [76]

Evgeny V ©   (08.02.06 11:29) [75]

Настолько увлеклись, что не заметили [72].4 :)


 
kaif ©   (2006-02-08 11:51) [77]

Вот со вчерашнего дня бьюсь с кодировкой.

jsp-страница под Tomcat 4.1. Специально оговариваю версию, так как с "переносимостью" в JAVA дело выглядит примерно так: если у тебя и у заказчика не стоят идентичные версии Tomcat и jdk, а также идентичные настройки локалей - жди больших проблем.

Итак, Tomcat + jdk 1.4.
Нужно получить кодировку UTF-8. Вообще я использую на всех страницах

<%@ page contentType="text/html;charset=windows-1251" %>

Но конкретно эта страница должна быть в UTF-8, так как она создает поток типа xml-файла для Excel:

response.addHeader ("Content-Disposition", "attachment; filename=report.xml");


А этот Excel свой родной ANSI не ест в этом типе файла, а требует именно UTF-8.

Танцы с бубнами продолжаются со вчерашнего вечера.

<%@ page contentType="text/html;charset=UTF-8" %>

превращает весь русский текст в квадраты. Оно и понятно. Откуда JAVA может знать. в какой кодировке у меня символы в тексте jsp?
Пытаюсь сделать так:


<%
String aaa = "Вася";
byte[] utf8Bytes = aaa.getBytes("UTF-8");
String aaa2 = new String(utf8Bytes, "UTF-8");
out.print(aaa2);
%>


Ура!!! Вместо квадратов теперь вопросы.
Перебираю разные варианты, но добиться результата пока так и не удалось.

Уважаемые поклонники джава!
Я не прошу объяснять мне решение.
Я лишь прошу дать ссылку на источник, где описано ясное, внятное и надежное решение этой проблемы.
Можно на английском.


 
DiamondShark ©   (2006-02-08 11:54) [78]


> Непонятно, что препятствует, например, тому, чтобы ряд классов
> объявлялся в одном текстовом файле? Неужели хранение каждого
> класса в отдельном файле это требование ООП? Это же кошмар
> какой-то... А эти "дружественные" классы в пределах пакета?
> ...

Если когда-то изобретут машину времени, то первого, кого надо придушить на стадии бластулы -- это Страуструп.
Героин и порнография не погубили столько невинных душ, сколько эта гнусная зараза с плюсами.


 
Sandman29 ©   (2006-02-08 12:03) [79]

kaif ©   (08.02.06 11:51) [77]

http://forum.java.sun.com/thread.jspa?threadID=539309&tstart=0
4 и 5 ответ пробовали?

PS. Никогда не работал с jsp :)


 
pasha_golub ©   (2006-02-08 12:04) [80]


> См. http://izen.dev.juga.ru/downloads/swingexamples.zip


> iZEN ©   (07.02.06 18:27) [64]

Прошу прощения, у меня таймаут. Это я так понимаю код? Я бы очень был благодарен за скриншоты, ну прямо "безмежно" (укр., "безгранично").
Спасибо


 
kaif ©   (2006-02-08 12:12) [81]

2 Sandman29 ©   (08.02.06 12:03) [79]
Спасибо. Сейчас прочитаю. Я только что попробовал один вариант, который работает для китайского и по мнению автора должен быть работать и с русским, но он не заработал.

Пока у меня работает только такая конструкция:

String aaa = new String("\u041F\u0440\u0438\u0432\u0435\u0442!");
out.print(aaa);


 
Evgeny V ©   (2006-02-08 12:32) [82]

Sandman29 ©   (08.02.06 11:46) [76]
Начал писать пост и пришлось отойти, потерял немножко мысль, потому и  повторил затем часть из Вашего поста:-)


 
Sandman29 ©   (2006-02-08 12:46) [83]

Evgeny V ©   (08.02.06 12:32) [82]

Я не всерьез :) Я, кстати, ошибся. Вложенные классы тоже могут быть public.
Типа Map.Entry.


 
kaif ©   (2006-02-08 12:52) [84]

2 Sandman29 ©  
К сожалению, пока ни один из предложенных там путей решения этой проблемы не привел к желаемой цели.
Я замечаю, что все участники дискуссий о кодировках в jsp делятся на две категории: тех кто не могут решить проблему и тех, кто дает советы, как ее решить. Но я пока не нахожу никого, кто сказал бы "great! it is working! Thanks!"


 
Sandman29 ©   (2006-02-08 12:54) [85]

kaif ©   (08.02.06 12:52) [84]

Понятно. К сожалению, кроме поиска на сайтах, я ничем помочь не могу - не моя специализация.


 
Evgeny V ©   (2006-02-08 13:20) [86]

Sandman29 ©   (08.02.06 12:46) [83] - Вы правы, я просто упустил это, так как еще не владею нормально языком:-)

kaif ©   (08.02.06 12:52) [84]

Увы подсказать еще не могу,но... тут на закладке Форумы есть ссылка на RSDN на форум JAVA Если не были на нем, попробуйте спросить и там


 
Evgeny V ©   (2006-02-08 14:00) [87]


> kaif ©   (08.02.06 12:12) [81]
> Пока у меня работает только такая конструкция:
>
> String aaa = new String("\u041F\u0440\u0438\u0432\u0435\u0442!
> ");
> out.print(aaa);


У вас строка "Привет!"- проделал с ней следующие действия

String s1="\u041F\u0440\u0438\u0432\u0435\u0442!";// ваша строка
  String s2;
       try
       {
       byte [] b=s1.getBytes("UTF8"); // массива байт в UTF 8
       s2=new String(b,"UTF8");// cтрока в кодировке UTF8
       s1=new String(s2.getBytes()); //Снова ваша строка в
                                               //кодировке системы по умолчанию
               }
       catch (Exception err)
       {
           
       }
Такое у вас пройдет?


 
kaif ©   (2006-02-08 19:54) [88]

Ну что же. Я разобрался, что происходит.
На самом деле проблема не решаема в принципе никакими методами сервлетов JAVA, так как проблема вообще не связана ни с JAVA, ни с сервлетами. Если создать текст jsp в Notepad и сохранить его в кодировке UTF-8, то, я думаю, все заработает правильно. Я уже не стал пробовать, просто я это понял. А в моем случае тексты на странице jsp не понадобились, так как все данные берутся из базы и все "родные строки джава" нормально сработали в результирующем сервлете, который создает Tomcat.
Я работаю в HomeSite. Не знаю, есть ли возможность в HomeSite сохранять файлы текстовых страниц раздельно - каждую в произвольной кодировке. Если бы такая возможность была, то это решало бы подобные проблемы.
К сожалению форумы никак не помогли. возможно каждый работает в своей системе разработки (Eclipse, JBuilder, и т.п.) и среды за него и незаметно для него решают подробные проблемы. Поэтому и вразумительного объяснения никто этой проблеме не дает. Хотя объяснение тривиальное. Достаточно задуматься над тем, а в какой кодировке сохраняется сам файл JSP, прежде, чем Tomcat начнет превращать его в сервлет.


 
iZEN ©   (2006-02-08 20:03) [89]

kaif ©   (08.02.06 19:54) [88]
Используйте Eclipse или NetBeans для написания JSP. Поверьте, они лучше знают, как с этим работать. ;)
В них можно отлаживать JSP!



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.77 MB
Время: 0.015 c
1-1138966198
Kostik
2006-02-03 14:29
2006.03.05
Как поместить TEdit в TStatusPanel компонента TStatusBar ?


2-1140303166
**Сергей**
2006-02-19 01:52
2006.03.05
Как изменить


15-1139838359
Arkady
2006-02-13 16:45
2006.03.05
Borland отказывается от развития Dephi и C++


2-1139943463
Volf_555
2006-02-14 21:57
2006.03.05
Что написано в DLL неверно???


2-1140071565
Daria
2006-02-16 09:32
2006.03.05
работа с таблицами Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский