Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / может быть сервлет вложенным классом? / 25 сообщений из 58, страница 1 из 3
22.05.2007, 14:06:56
    #34542294
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
может быть сервлет вложенным классом в обычный класс ? и как его вызывать , если может

Написала сие:

public class serverVASP implements Runnable {
public serverVASP(){
Thread newThread = new Thread(this,"Tread1");
newThread.start();
System.out.println("I'm run");
}
public static void main(String[] args){
new serverVASP();

}

public void run() {
while(true){

}
}
}
class getTime extends HttpServlet {
private String pulseValueNew;


public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
..............
}
}

Запускаю Tomcat
Запускаю java serverVASP
Передаю данные со строницы ( get) к getTime (/Classes.serverVASP.getTime)

пишет недоступен сервлет ЧТО ДЕЛАТЬ?
...
Рейтинг: 0 / 0
22.05.2007, 14:19:51
    #34542350
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaSЗапускаю Tomcat
Запускаю java serverVASP
супер пишите ещё :).
Если серьёзно, то вам бы почитать для начала про сервлеты и сервлет-контейнеры.
ЗЫ давно так не веселился
...
Рейтинг: 0 / 0
22.05.2007, 14:42:14
    #34542442
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaSпишет недоступен сервлет ЧТО ДЕЛАТЬ?
Курить web.xml, war application
...
Рейтинг: 0 / 0
22.05.2007, 14:44:25
    #34542450
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
zalexaka GerdaSЗапускаю Tomcat
Запускаю java serverVASP
супер пишите ещё :).
Если серьёзно, то вам бы почитать для начала про сервлеты и сервлет-контейнеры.
ЗЫ давно так не веселился

Повеселись ещё, Зайка, про сервлеты и сервлет-контейнеры. я знаю достаточно , в качестве
серв. контенероа у меня выступает Tomcat. если бы у меня был "голый" сервлет то вопросов бы не возникло, если очень внимательно просмотрел код и !вопрос! у меня сервлет - это вложенный класс, а для того что бы создать экземпляр вложенного класса надо создать сначала экземпляр "верхнего" класса .

Здесь
java serverVASP используется для запуска потока , а к сервлету обращаюсь из HTML страницы
таким вот образом http://localhost:8080/serverVASP/getTime?pulse=1 и это уже обрабатывает Tomcat.

ЕЩё раз, повторю вопрос: МОЖет быть сервлет вложенным классом и !как его запускать!
...
Рейтинг: 0 / 0
22.05.2007, 14:46:48
    #34542458
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
Blazkowicz GerdaSпишет недоступен сервлет ЧТО ДЕЛАТЬ?
Курить web.xml, war application

<web-app>
<servlet>
<servlet-name>getTime</servlet-name>
<servlet-class>Classes.serverVASP.getTime</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>getTime</servlet-name>
<url-pattern>/getTime</url-pattern>
</servlet-mapping>
</web-app>

класс serverVASP лежит в package Server;
из страницы запрашиваю :
http://localhost:8080/serverVASP/getTime?pulse=1
...
Рейтинг: 0 / 0
22.05.2007, 14:47:55
    #34542462
__олнчанин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
авторможет быть сервлет вложенным классом в обычный класс ?

А к чеиму этот сподвыподверт?
...
Рейтинг: 0 / 0
22.05.2007, 14:48:40
    #34542467
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
упс Server и Classes
...
Рейтинг: 0 / 0
22.05.2007, 14:52:09
    #34542478
может быть сервлет вложенным классом?
а может тогда попробовать сделать внутренний класс public
...
Рейтинг: 0 / 0
22.05.2007, 15:03:02
    #34542529
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
__олончанина может тогда попробовать сделать внутренний класс public

да, вроде незя внутренние классы как public обявлять
...
Рейтинг: 0 / 0
22.05.2007, 15:07:49
    #34542555
может быть сервлет вложенным классом?
GerdaS __олончанина может тогда попробовать сделать внутренний класс public

да, вроде незя внутренние классы как public обявлять

Ну а как ваш томкат тогда увидит ваш внутренний класс сервлета чтобы его создать?
...
Рейтинг: 0 / 0
22.05.2007, 15:10:58
    #34542570
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaSЗдесь java serverVASP используется для запуска потока , а к сервлету обращаюсь из HTML страницы в таком случае может объясните мне каким образом ваш томкат, крутящийся в одной JVM будет взаимодействовать с serverVASP(кот. соотв. в другой). А то может это новый способ обработки HTTP запросов доселе нам неизвестный.
...
Рейтинг: 0 / 0
22.05.2007, 15:13:30
    #34542581
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
__олнчанин авторможет быть сервлет вложенным классом в обычный класс ?

А к чеиму этот сподвыподверт?

нужен поток который висел бы в памятиобрабатывал данные переданые от html ( гетом) + передавал бы данные другим java.class
...
Рейтинг: 0 / 0
22.05.2007, 15:15:21
    #34542589
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
zalexaka GerdaSЗдесь java serverVASP используется для запуска потока , а к сервлету обращаюсь из HTML страницы в таком случае может объясните мне каким образом ваш томкат, крутящийся в одной JVM будет взаимодействовать с serverVASP(кот. соотв. в другой). А то может это новый способ обработки HTTP запросов доселе нам неизвестный.

поэтому я и спрашивала ранее : КАК, КАК ОБРАТИТЬСЯ К ВЛОЖЕННОМУ КЛАССУ ЕСЛИ ЭТО СЕРВЛЕТ И ВОЗМОЖНО ЛИ ЭТО
...
Рейтинг: 0 / 0
22.05.2007, 15:22:18
    #34542623
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
1. По спеке заводить свои потоки в управляемом окружении не есть хорошо.
2. Вложенный класс сделать пабликом(если уж так хочется)
3. Поток бы поднимал из init-метода вашего сервлета.
По поводу нехорошего первого пункта гдето Blazkowicz сцылку давал уже поищите
...
Рейтинг: 0 / 0
22.05.2007, 15:23:30
    #34542628
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaS __олнчанин

А к чеиму этот сподвыподверт?

нужен поток который висел бы в памятиобрабатывал данные переданые от html ( гетом) + передавал бы данные другим java.class

поменяйте архитектуру? создайте некий общий статический объект, в который будете пихать любой GET-запрос, а а внутри статического объекта реализуйте паттерн листенера. и этот листенер натравите на любой поток
...
Рейтинг: 0 / 0
22.05.2007, 15:26:03
    #34542643
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaS
<servlet-class>Classes.serverVASP.getTime</servlet-class>

Внутренние классы именуются как Classes.serverVASP$getTime
Где Classes как я пониамю package?
Внутрений класс должен быть static public.

Если он не будет public, то контейнер не сможет его создать, потому что не имеет права.
А если он будет не static, то контейнер не сможет его создать из-за отсутствия экземпляра родительского класса. Потому что экземпляр вложеного не статического класса не может существовать без экземпляра родительского класса. Потому что он не статический
...
Рейтинг: 0 / 0
22.05.2007, 15:33:09
    #34542684
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
unicornmirage GerdaS __олнчанин

А к чеиму этот сподвыподверт?

нужен поток который висел бы в памятиобрабатывал данные переданые от html ( гетом) + передавал бы данные другим java.class

поменяйте архитектуру? создайте некий общий статический объект, в который будете пихать любой GET-запрос, а а внутри статического объекта реализуйте паттерн листенера. и этот листенер натравите на любой поток

можно поподробней про паттерн листенера ?
Проблема в том , что новый проект и под него (почему - то) набирают java developerov без опыта
а с опытом никого нет посему паримся
...
Рейтинг: 0 / 0
22.05.2007, 15:36:20
    #34542695
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
ну можно почитать про Observer, Listener где нибудь...
...
Рейтинг: 0 / 0
22.05.2007, 15:36:48
    #34542698
GerdaS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
unicornmirageну можно почитать про Observer, Listener где нибудь...

ок , пасибо
...
Рейтинг: 0 / 0
22.05.2007, 15:37:00
    #34542700
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaSда, вроде незя внутренние классы как public обявлять
С чего бы это?
...
Рейтинг: 0 / 0
22.05.2007, 15:48:17
    #34542760
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
если я правильно понял вашу задачу, то сделал бы так приблизительно:
(PS: это набросок, в котором могут быть неточности)

во-первых, разделяемый объект
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 public   class  SharedObject   implements  Listener {
      static   private  MyListener listener;  
      static  {
            addListener( new  SharedObject());  // листенер по умолчанию - ничего не делает
     }

     // конструктор скрыт, ибо никому не нужно создавать данный объект
      private  SharedObject() { 
     } 
     
     //переопределенный метод листенера, ничего не делает
      public   void  handleAction(....) {
     }

     // регистрируем листенер
      public   static   synchronized   void  addListener(MyListener o) {
              listener = o;
     }

     
      public   static  synchtonized  void  putParameters(...) {
              listener.handleAction(...);  // перенаправляем все параметры листенеру
     }
}


реализация слушателя:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 public   class  MyListenerThread  implements  MyListener {
      //переопределенный метод листенера, ничего делает то что нужно
      public   void  handleAction(....) {
             // используем данные, пришедшие неизвестно откуда
     }

}



сам класс сервлета
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 public   class  MyServlet  extends  HttpServlet {
       public   void  init() {
               SharedObject.addListener( new  MyListenerThread());  // где то нужно инициализировать листенер, пусть будет пока в методе инит
      }

       public   void  doGet(HttpServletRequest r, HttpServletResponse r) {
               SharedObject.putParameters(....);  //извлеченные из запроса параметры передаем в общий объект
      }
}
...
Рейтинг: 0 / 0
22.05.2007, 15:50:16
    #34542767
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
GerdaS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 public   class  serverVASP  implements  Runnable {
     public  serverVASP(){
       Thread newThread =  new  Thread( this ,"Tread1");
       newThread.start();
       System.out.println("I'm  run"); 
    }
     public   static   void  main(String[] args){
         new  serverVASP();

    }

     public   void  run() {
       while (true){

      }
    }
}
 class  getTime  extends  HttpServlet {
     private  String pulseValueNew;


     public   void  doGet(HttpServletRequest request, HttpServletResponse response)  throws  IOException {

}
}

Здесь нету внутренних классов, здесь просто два класса в одном и том же файле, это не одно и тоже. В одной файле не может быть два public класса, здесь вы правы.

Непонятно зачем вам это надо. Был хороший совет - меняйте архитектуру.
...
Рейтинг: 0 / 0
22.05.2007, 15:50:36
    #34542768
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
ну и забыл добавить интерфейс листенера:
Код: plaintext
1.
2.
3.
 public   interface  MyListener {
       public   void  handleAction(....);
}
...
Рейтинг: 0 / 0
22.05.2007, 16:01:46
    #34542815
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
какая-то идиотия... Ты бы еще в EJB стейтфуловом такое сделал...

GerdaS __олнчанин авторможет быть сервлет вложенным классом в обычный класс ?

А к чеиму этот сподвыподверт?

нужен поток который висел бы в памятиобрабатывал данные переданые от html ( гетом) + передавал бы данные другим java.class

во-первых, "передавать" данные нужно через POST запросы, а через GET их нужно забирать.

Сделай отдельный сервлет, который будет вертать тебе нужные данные, подмепь его отдельно, отдельным классом. А в своем треде, который будет крутиться (запускать его можно как угодно), коннекться к этому сервлету по-человечески, либо через UrlConnection, либо через какой-нить HttpClient, приши реквест туда, куда у тебя подмеплен сервлет, и получай от него респонз. Только так ты избежишь проблем с рассинхронизацией, потоками сервелета должен и будет управлять контейнер...
...
Рейтинг: 0 / 0
22.05.2007, 16:06:43
    #34542833
unicornmirage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может быть сервлет вложенным классом?
y3uкакая-то идиотия... Ты бы еще в EJB стейтфуловом такое сделал...

сам ты идиотия, я набросал лишь пример одной из стратегий мышления над данной проблемой, согласно постановке данной задачи, без использования и привязки к среде выполнения, будь то сервлеты или еще что... остальные задачи пусть решает сам автор
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / может быть сервлет вложенным классом? / 25 сообщений из 58, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]