Ajuda urgente plz

13 respostas
A

Eu tenho um servidor da empresa q aceiuta java e tem sua p´ropria bliblioteca para envio de mensagem para terminal movel.

Porém eu tenho um código ja desenvolvido que envia a m,ensagem para ele soh q pra que ele rode eu preciso de algum html ou applet para poder ler a interface atraves do numero ip mais o nome da pagina

eu tenho duas duvidas se poderem me ajudar fiko agradecido:

1: Como faço para poder fazer umaparte visual basica em java q chame minha classe tentei como um applet basico e nao funciono

2: Teria outra maneira de fazer rodar sem ser um .html (jar nao rodo lendo direto a nao ser q tenha q fazer outra coisa).

Se alguem precisar desse codigo para poder me ajuda e estiver diosposto eu envio obrigado des de ja eu preciso mt disso

13 Respostas

A

Segue abaixo a classe principal do programa que contem 4 classe mas é ela quem exercita a funcao a nao ser qu crie a classe visual para chama-la

import OAJUtil.*;
import java.applet.*;
import java.io.*;
import java.net.*;
import java.awt.*;


public class Client implements JatConstants 
{
	
	public static void main( String args[] )
	{
		
		try
		{
			JatSystem EttOAJSystem = JatSystem.createJatSystem("3.00");
			MinJatMsgHandler firstMsgHandler = new MinJatMsgHandler();
			
			MinJatMsgConfHandler firstMsgConfHandler = new MinJatMsgConfHandler();
			MinJatMsgConfRespHandler firstMsgConfRespHandler = new MinJatMsgConfRespHandler();
			//MinJatAlarmHandler firstAlarmHandler = new MinJatAlarmHandler();
			EttOAJSystem.addService( firstMsgConfHandler);
			EttOAJSystem.addService( firstMsgConfRespHandler);
			EttOAJSystem.addService( firstMsgHandler);
			
			//EttOAJSystem.addService( firstAlarmHandler);
			EttOAJSystem.execute();
				JatMessage pageobj = new JatMessage(USER_RESPONSE_ACCEPT_REJECT);
				pageobj.setCallNumber("4407");
				pageobj.setBody( "Adriel e o cara!!!" );
				pageobj.send();
				
		}
		catch( Exception e)
		{
			
		}
		
	}
	
}
A

:frowning: ajudem plz

fantomas

Por favor, utilize as tags para melhorar o aspecto visual do código.

import OAJUtil.*;
import java.applet.*;
import java.io.*;
import java.net.*;
import java.awt.*;

public class Client implements JatConstants {

	public static void main(String args[]) {

		try {
			JatSystem EttOAJSystem = JatSystem.createJatSystem("3.00");
			MinJatMsgHandler firstMsgHandler = new MinJatMsgHandler();

			MinJatMsgConfHandler firstMsgConfHandler = new MinJatMsgConfHandler();
			MinJatMsgConfRespHandler firstMsgConfRespHandler = new MinJatMsgConfRespHandler();
			// MinJatAlarmHandler firstAlarmHandler = new MinJatAlarmHandler();
			EttOAJSystem.addService(firstMsgConfHandler);
			EttOAJSystem.addService(firstMsgConfRespHandler);
			EttOAJSystem.addService(firstMsgHandler);

			// EttOAJSystem.addService( firstAlarmHandler);
			EttOAJSystem.execute();
			JatMessage pageobj = new JatMessage(USER_RESPONSE_ACCEPT_REJECT);
			pageobj.setCallNumber("4407");
			pageobj.setBody("Adriel e o cara!!!");
			pageobj.send();

		} catch (Exception e) {

		}

	}

}
fantomas

Não sei se entendi direito…

Vc esta dizendo que este código que vc enviou está funcionando, mas que precisa desenvolver uma interface que possa ser executada pelo navegador e que utilize este código, é isso?

flws

A

Isso msm ele nao tem aspecto visual nenhum porem precisa ser executado no navegador para que funcione como faço isso?

fantomas

Então…

Vc precisa de um webserver como Tomcat, Jetty, etc… e montar um projetinho do tipo web utilizando JSP, Servlet e Html.

Dá uma olhada nas coisas da CAELUM, talvez tenha uma apostila que esplique detalhadamente como fazer isto.

flws

A

Teria que ser um aplet q chama essa função porem tentei pelo jeito tipico mas nao funciono na hora de executar

A

Se aquele seu código do main, acessa algum banco de dados, sistema de arquivos ou algo parecido, vc precisa assinar sua applet. Procura por assintaturas de applet na net que encontra fácil.

Alberto

fantomas

Envie o erro que ocorreu quando vc utilizou Applet pra gente dar uma olhada.

flws

A

Opa entao conssegui criar porem continua dando um erro no meu servidor
quando abro ele pela primeira vez ele funciona e envio quantas mensagens kiser porem quando abro pela segunda vez
ele nao envia eh como se estivesse desconectado e precisase conectar novamente eh algum erro do meu codigo

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
public class oajApplet extends Applet implements ActionListener
{
	   static Socket clientSocket = null;
	   public static PrintWriter out = null;
	   public static BufferedReader in = null;

   private class rcvAreaThread extends Thread
   {
      private rcvTextArea rcvArea;
      boolean running = true;

      //Constructor rcvAreaThread the thread
      public rcvAreaThread(int rows, int cols)
      {
         super();        
         rcvArea = new rcvTextArea(rows, cols);
      }

      //Funciton to stop the thread
      public void kill()
      {
         running = false;
      }

      //The main function in the thread.
      public void run()
      {
         while (running)
         {
            try
            {
               rcvArea.readEvent(); //Read stock from Saleserver
            } catch (Exception e)
            {
               e.printStackTrace();
               break;
            }
         }
      }

      //Returns the current stock
      public rcvTextArea getEvent()
      {        
         return rcvArea;
      }
   }


   private class rcvTextArea extends TextArea
   {
      boolean disconnect = true;

      //Constructor for the class
      public rcvTextArea(int rows, int cols)
      {
         super(rows, cols);
      } 

      private String parseString(String rcvbuf, int offset)
      {
         String retval = "";
         int i = offset;
         while ((rcvbuf.charAt(i) != '<') && (i < rcvbuf.length())) {
            retval += rcvbuf.charAt(i++);
         }
         return retval;
      }

      //Read current stock for specified type of goods, and update the textfield in the GUI
      public void readEvent() throws Exception
      {
         String receive = "", type = "", value = "";
         while (true) {
            type = "";
            value = "";
            if (in.readLine().startsWith("<MSG>")) {
               do {
                  receive = in.readLine();
                  if (receive.startsWith("<TYPE>")) {
                     type = parseString(receive, 6);
                     if (type.equalsIgnoreCase("message")) {
                        this.append("Message received, ");
                     }
                  } else if (receive.startsWith("<HDR>")) {
                     value = parseString(receive, 5);
                     if (type.equalsIgnoreCase("message")) {
                        this.append("Header: " + value + ", ");
                     }
                  } else if (receive.startsWith("<BODY>")) {
                     value = parseString(receive, 6);
                     if (type.equalsIgnoreCase("message")) {
                        this.append("Body: " + value + ", ");
                     }
                  } else if (receive.startsWith("<DEST>")) {
                     value = parseString(receive, 6);
                     if (type.equalsIgnoreCase("message")) {
                        this.append("Origin: " + value + ", ");
                     }
                  } else if (receive.startsWith("<ID>")) {
                     value = parseString(receive, 4);
                     if (type.equalsIgnoreCase("message")) {
                        this.append("ID: " + value + ", ");
                     }
                  } else if (receive.startsWith("<RID>")) {
                     value = parseString(receive, 5);
                     if (type.equalsIgnoreCase("message")) {
                        this.append("RefID: " + value + "\n");
                     }
                  }

               } while ( !receive.startsWith("</MSG>") );
            }
         }
      }
   }

   private Label incLabel = new Label("Incoming: ");
   private Label nrLabel = new Label("Numeros recebidos: ");
   private Label createLabel = new Label("Net Dri  ");
   private Label hdrLabel = new Label("Titulo: ");
   private Label msgLabel = new Label("Mensagem ");
   private Label destLabel = new Label("Pager ");
   private Label idLabel = new Label("ID (0 or empty for automatic): ");
   private TextField nrField = new TextField(5);
   private TextField hdrField = new TextField(35);
   private TextArea msgField = new TextArea(4, 35);    
   private TextField destField = new TextField(4);
   private TextField idField = new TextField("0", 8);    
   private Button createPag = new Button("NetDriel");
   private Button quitApp = new Button("Quit");
   private Button sendMessage = new Button("Enviar");
   private Button cancelMessage = new Button("Cancelar");
   private int i = 0;

   private Panel listenButtons = new Panel();
   private Panel messageButtons = new Panel();
   private Panel messageHdr = new Panel();
   private Panel messageMsg = new Panel();
   private Panel messageDest = new Panel();
   private Panel messageID = new Panel();

   private Frame f, f2;
   private GridBagLayout gridbag = new GridBagLayout();
   private GridBagConstraints constr = new GridBagConstraints();
   private GridBagLayout gridbagMessage = new GridBagLayout();
   private GridBagConstraints constrMessage = new GridBagConstraints();
   private rcvAreaThread incAreaThr;
   private rcvTextArea incArea;

   void ipInit()
   {
      try {
         clientSocket = new Socket(getCodeBase().getHost(), 12666);
         out = new PrintWriter(clientSocket.getOutputStream(), true);
         in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
      } catch ( Exception e )
      {
         incLabel.setText(e.toString());
      }
   }

   //Create login frame
   public void init()
   {
      ipInit();
      f = new Frame();
      f.setLayout(gridbag);

      constr.gridx = 0;
      constr.gridy = 0;
      constr.gridwidth = 2;
      gridbag.setConstraints(incLabel, constr);
      f.add(incLabel);


      incAreaThr = new rcvAreaThread(30, 85);
      incArea = incAreaThr.getEvent();
      incArea.setEditable(false);
      incArea.setText("Programa Desenvolvido pela equipe de Tecnologia da Eritel Data: 13/03/09");
      incAreaThr.start();
      constr.gridx = 0;
      constr.gridy = 1;
      constr.gridwidth = 2;
      constr.gridheight = 10;
      gridbag.setConstraints(incArea, constr);
      f.add(incArea);

      constr.gridx = 0;
      constr.gridy = 12;
      constr.gridwidth = 2;
      constr.gridheight = 1;
      gridbag.setConstraints(listenButtons, constr);
      listenButtons.add(quitApp);
      listenButtons.add(createPag);
      quitApp.setActionCommand("Quit");
      quitApp.addActionListener(this);    
      createPag.setActionCommand("Create");
      createPag.addActionListener(this);
      f.add(listenButtons);

      f.setSize(800, 600);
      f.setVisible(true);
   }

   //Create frame for purchasing goods
   public void createMessage()
   {
      f2 = new Frame();
      f2.setLayout(gridbagMessage);
      f2.setBackground(Color.ORANGE);
      constrMessage.gridx = 0;
      constrMessage.gridy = 0;
      constrMessage.gridwidth = 4;
      gridbagMessage.setConstraints(createLabel, constrMessage);
      f2.add(createLabel);

      constrMessage.gridx = 1;
      constrMessage.gridy = 1;
      constrMessage.gridwidth = 2;
      gridbagMessage.setConstraints(messageHdr, constrMessage);
      messageHdr.add(hdrLabel);        
      messageHdr.add(hdrField);
      f2.add(messageHdr);

      constrMessage.gridx = 0;
      constrMessage.gridy = 2;
      constrMessage.gridwidth = 4;
      constrMessage.gridheight = 4;
      gridbagMessage.setConstraints(messageMsg, constrMessage);
      messageMsg.add(msgLabel);        
      messageMsg.add(msgField);
      f2.add(messageMsg);

      constrMessage.gridx = 1;
      constrMessage.gridy = 6;
      constrMessage.gridwidth = 2;
      constrMessage.gridheight = 1;
      gridbagMessage.setConstraints(messageDest, constrMessage);
      messageDest.add(destLabel);        
      messageDest.add(destField);
      f2.add(messageDest);

      constrMessage.gridx = 1;
      constrMessage.gridy = 7;
      constrMessage.gridwidth = 2;
      gridbagMessage.setConstraints(messageID, constrMessage);
      messageID.add(idLabel);        
      messageID.add(idField);
      f2.add(messageID);
     
      constrMessage.gridx = 1;
      constrMessage.gridy = 8;
      constrMessage.gridwidth = 2;
      gridbagMessage.setConstraints(messageButtons, constrMessage);
      messageButtons.add(cancelMessage);
      messageButtons.add(sendMessage);
      cancelMessage.setActionCommand("Cancel");
      cancelMessage.addActionListener(this);    
      sendMessage.setActionCommand("Send");
      sendMessage.addActionListener(this);
      f2.add(messageButtons);

      f2.setSize(640, 480);
      f2.setVisible(true);

   }

   //To send a buy request to the Saleserver
   private void sendMessage()
   {
      short tst = 0;
      boolean send = true;;

      if (destField.getText().compareTo("") == 0) {
         //createLabel.setText("Preencha Pager");
         JOptionPane.showMessageDialog(null , "Preencha Campo Pager ");
         send = false;
      } else if (idField.getText().compareTo("") == 0) {
         tst = new Short(idField.getText()).shortValue(); 
         if (tst < 0) {
            //createLabel.setText("Erro ID(0-32767)");
            JOptionPane.showMessageDialog(null , "Erro ID");
         }
         send = false;
      }
      if (send == true) {
         try {
            send(hdrField.getText(), msgField.getText(), destField.getText(), tst);
            JOptionPane.showMessageDialog(null , "Mensagem Enviada");
         } catch (Exception e) {
            //createLabel.setText("Falha: " + e);
            JOptionPane.showMessageDialog(null , e);
            
         }
      }
   }

   private void send(String header, String message, String number, short ID) throws Exception
   {
      out.println("<MSG>\n");
      out.println("<TYPE>message</TYPE>\n");
      out.println("<HDR>" + header + "</HDR>\n");
      out.println("<BODY>" + message + "</BODY>\n");
      out.println("<DEST>" + number + "</DEST>\n");
      out.println("<ID>" + ID + "</ID>\n");
      out.println("</MSG>\n");
      out.flush();
   }

   //To disconnect from the server and clear the current reservations.
   private void disconnect()
   {
      try {
         f.dispose(); //Fecha frame
         in.close();
         out.close();
         clientSocket.close();
         System.exit(0);
      } catch (Exception e)
      {
      
      
      
      }
   }

   //Eventhandler, handles what to do when a button is pushed.
   public void actionPerformed(ActionEvent event)
   {
      String happened = event.getActionCommand();        

      if (happened.equals("Create")){
         createMessage();
      } else if (happened.equals("Quit")){
         disconnect();
      } else if (happened.equals("Send")){
         sendMessage();
      } else if (happened.equals("Cancel")){
         f2.dispose();
         f.dispose();
         disconnect();
      }
   }

   //Print a string in the netscape window
   public void paint (Graphics message)
   {
      message.drawString("Bem vindo NetDriel", 20, 20);
   }

}
A

Entao eu estava fazendo mais uns textes o erro eh msm q quando desconecta ele nao faz essa verificação com o servidor novamente é bem complicado achu q tem q ter paciencia pra consseguir resolver por isso peço ajuda

A

heklp

fantomas

Oi,

Está difícil de lhe ajudar por 2 motivos:

  1. Falta de detalhes.

  2. E dificuldade em reproduzir o seu contexto.

Você disse que na primeira execução ocorre tudo bem, mas na segunda dá problemas.

Vc consegue aplicar o debugger no método que envia a mensagem?
Caso a mensagem esteja sendo enviada, tem como vc verificar se ela chegou no servidor?

Se vc não conseguir utilizar o debugger, utilize o System.out.println mesmo.

Se puder envie também o código do servidor, se for pequeno e vc achar que pode ajudar.

flws

Criado 12 de março de 2009
Ultima resposta 17 de mar. de 2009
Respostas 13
Participantes 3