Avatar billede jarret Nybegynder
12. december 2005 - 18:55 Der er 18 kommentarer og
1 løsning

sende en streng fra midlet til servlet?

hvem kan hjælpe mig med at sende en streng fra midlet til servlet
jeg har en midlet der kan forbinde til en servlet og modtage en streng. nu vil jeg gerne sende den anden vej....
men hvordan..

midletten:

    HttpConnection hc = null;
    OutputStream os = null;
    String url = getAppProperty("M.URL"); 
   
    try {
      hc = (HttpConnection)Connector.open(url);
      os = hc.openInputStream();
      os.write(message.getBytes());
      os.write('\r');

      os.close();
      hc.close();

    }
    catch (IOException ioe) {
      mMessageItem.setText(ioe.toString());
    }

servletten:

String PASSWORD = "9123";
String url = "jdbc:mysql://localhost/chat";
Connection con;
Statement stmt;




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


                  try {
                        String name = request.getParameter(""); 
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(url,BRUGERNAVN, PASSWORD);   
            stmt = con.createStatement();                           
            ResultSet rs = stmt.executeQuery("insert into ind values (0, name, 123456 )");

           
            stmt.close();
            con.close();
   
            } catch(Exception ex) {
            System.err.println("Exception: " + ex.getMessage());
                       
            };
   
   
  }
 
   
}
Avatar billede arne_v Ekspert
12. december 2005 - 19:05 #1
det nemmeste var vel at hæfte den på URL'en

/DinServlet?navn=abcdef

og i servlet:

request.getParameter("navn")
Avatar billede arne_v Ekspert
12. december 2005 - 19:05 #2
husk at URLencode hvis der kan være mellemrum, ÆØÅ etc. i strengen
Avatar billede jarret Nybegynder
12. december 2005 - 19:24 #3
serveren giver:
Exception: Can not issue data manipulation statements with executeQuery().

...
Avatar billede jarret Nybegynder
12. december 2005 - 19:25 #4
vups der var jeg vist ikke vågen
Avatar billede jarret Nybegynder
12. december 2005 - 19:26 #5
retter lige og prøver igen
Avatar billede arne_v Ekspert
12. december 2005 - 19:41 #6
:-)
Avatar billede jarret Nybegynder
12. december 2005 - 22:29 #7
så er der hul igennem.

Men det er meningen at man skal kunne skrive en tekststreng på mobilen, så det går ikke med url løsningen..

kan jeg ikke bruge outputstream
Avatar billede arne_v Ekspert
12. december 2005 - 23:22 #8
du kan da sagtens URLencode en tekst streng

hvis du kan lave en POST fremfor en GET så kan du bruge output stream på client og
input stream på server
Avatar billede jarret Nybegynder
12. december 2005 - 23:59 #9
det virker ikke med url når der er mellemrum i teksten, kan det ikke passe?
Avatar billede arne_v Ekspert
13. december 2005 - 00:03 #10
URLencoder du ?
Avatar billede arne_v Ekspert
13. december 2005 - 00:05 #11
URLEncoder.encode("/DinServlet?navn=" + val)

sorry jeg ved ikke om den klasse er med i J2ME
Avatar billede jarret Nybegynder
13. december 2005 - 00:06 #12
nej det gjorde jeg ikke - prøver lige
Avatar billede jarret Nybegynder
13. december 2005 - 00:13 #13
det er den vist ikke
Avatar billede jarret Nybegynder
13. december 2005 - 00:14 #14
så jeg må nok lave en input - output
Avatar billede jarret Nybegynder
13. december 2005 - 00:14 #15
men tak for hjælpen lægger du et svar.
Avatar billede arne_v Ekspert
13. december 2005 - 00:25 #16
så kod den selv - J2SE docs for den beskriver hvad den gør

og svar
Avatar billede arne_v Ekspert
13. december 2005 - 00:26 #17
When encoding a String, the following rules apply:


The alphanumeric characters "a" through "z", "A" through "Z" and "0" through "9" remain the same.
The special characters ".", "-", "*", and "_" remain the same.
The space character " " is converted into a plus sign "+".
All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the byte. The recommended encoding scheme to use is UTF-8. However, for compatibility reasons, if an encoding is not specified, then the default encoding of the platform is used.
Avatar billede arne_v Ekspert
13. december 2005 - 00:27 #18
"/DinServlet?navn=" + val.replace(' ','+')

er måske nok for dig
Avatar billede jarret Nybegynder
13. december 2005 - 10:52 #19
det virker -super -tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester