Avatar billede shj Nybegynder
21. april 2000 - 13:25 Der er 2 kommentarer og
1 løsning

servlets og applets på lokal standalone win98

Hej! Er det rigtigt at serlets kun kan kan afvikles under en web-server!
Jeg sidder med en servlets kode jeg har hentet fra java.sun, men når jeg vil compile kender den ikke følgende

import javax.servlet.*;
import javax.servlet.http.*;

jeg har vedlagt koden selvom den er rimelig lang.
Skulle jeg lavde det helt om eller hva?
programmet skulle kunne læse og oprette en txt fil.


import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FileIo extends HttpServlet {
      public void doPost (HttpServletRequest request,
              HttpServletResponse response)
              throws servletException, IOException
              {
              response.setContentType("text/html");
              printWriter out = response.getWriter();

              out.println("<title>Example<title>" + "<body bgcolort=FFFFFF>");
              out.println("<h2>Button Clicked</h2>");

              String DATA = request.getParameter("DATA");

                if (DATA!= null) {
                  out.println("<STRONG>Text from form:</STRONG>");
                  out.println(DATA);
                  } else {
                  out.println("No text entered.");
                  }

              try{
                //code to write to file
                  String outputFileName=
              System.getProperty("user.home",
                  File.separatorChar + "home" +
                  File.separatorChar + "monicap") +
                  File.separatorChar + "text.txt";
                  File outputFile = new File( outputFileName);
                  FileWriter Fout = new FileWriter(outputFile);
          Fout.Write(DATA);
                  Fout.Close();
              //Code to read from file
                  String inputFileName =
                  System.getProperty("user.home",         
          File.separatorChar + "home" +
                  File.separatorChar + "monicap") +
                  File.separatorChar + "text.txt";
              File inputFile = new file(inputFileName);
          FileReader fin = new FileReader(inputFile);
        char c[] = new char[(char)inputFile.lenght()];
        int i;
        i = fin.read(c);    
        String s = new String(c);
                out.println("<P><STRONG>TEXT FROM FILE</STRONG>");
                out.println(s);
        fin.close();
        }catch(java.io.IOException e) {
                  System.out.println("Cannot access the file");
        }
               
                out.println("<P>Return to <A HREF="SimpleHTML">form</A>");
                out.close();
  }     
Avatar billede theill Nybegynder
21. april 2000 - 18:13 #1
Det er rigtigt, at servlets kraever en Servlet enabled web server for at kunne koere. Du kan dog compilerer den, hvis du har Java Servlet API'et. Det kan du hente fra javasoft.com

Jeg ville dog bare tag det ud fra filen, som du skal bruge, dvs uden brug af de specielle Servlet kald:

String DATA = "Dette er den tekst, der bliver skrevet tilfilen";

                if (DATA!= null) {
                  System.out.println(DATA);
                  } else {
                  System.out.println("No text entered.");
                  }

              try{
                //code to write to file
                  String outputFileName=
              System.getProperty("user.home",
                  File.separatorChar + "home" +
                  File.separatorChar + "monicap") +
                  File.separatorChar + "text.txt";
                  File outputFile = new File( outputFileName);
                  FileWriter Fout = new FileWriter(outputFile);
          Fout.Write(DATA);
                  Fout.Close();
              //Code to read from file
                  String inputFileName =
                  System.getProperty("user.home",         
          File.separatorChar + "home" +
                  File.separatorChar + "monicap") +
                  File.separatorChar + "text.txt";
              File inputFile = new file(inputFileName);
          FileReader fin = new FileReader(inputFile);
        char c[] = new char[(char)inputFile.lenght()];
        int i;
        i = fin.read(c);   
        String s = new String(c);
                System.out.println("<P><STRONG>TEXT FROM FILE</STRONG>");
                System.out.println(s);
        fin.close();
        }catch(java.io.IOException e) {
                  System.out.println("Cannot access the file");
        }
Avatar billede shj Nybegynder
22. april 2000 - 02:06 #2
Mange tak for svaret.
Er det sådan at output fra en servlet returneres tilbage til browseren, f.eks ligesom cgi programmering med ASP, PERL og den slags.
Og derfor kan formatere sit output med html tags?
By the way jeg har fået coden til at kører, som almindelig commando program.
Så nu vil jeg rode lidt med det.
Avatar billede theill Nybegynder
22. april 2000 - 10:09 #3
Ja, princippet er det samme som i ASP, etc. Du faar bygget en HTML side dynamisk, som du saa smider tilbage til browseren.

Husk at acceptere mit svaret, hvis du kunne bruge det.
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