Guest User

RequestHandler.java

a guest
Mar 18th, 2013
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.39 KB | None | 0 0
  1.  
  2. /*
  3.  * RequestHandler klassen
  4.  */
  5.  
  6. class RequestHandler extends Thread {
  7.     private BufferedReader br;
  8.     private PrintWriter pw;
  9.     private DataOutputStream dos;
  10.     private OutputStream os;
  11.  
  12.     public RequestHandler(Socket s) throws IOException {
  13.         br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  14.         pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
  15.         dos = new DataOutputStream(s.getOutputStream());
  16.         os = s.getOutputStream();
  17.     }
  18.    
  19.     public void run() {
  20.         try {
  21.             String request = br.readLine();
  22.             String[] parts = request.split(" ");
  23.             String method = parts[0];
  24.             String path = parts[1];
  25.             String version = parts[2];
  26.  
  27.            
  28.             try {
  29.                
  30.                 File f                   = new File("C:/javaServer/"+path);
  31.                 JFileChooser filechooser = new JFileChooser();
  32.                 String fType             = filechooser.getTypeDescription(f);
  33.                 String fString           = f.getPath();
  34.                 String fName             = f.getName();
  35.                 long fSize               = f.length();
  36.                 long fSizeKB             = fSize / 1024;
  37.                
  38.                
  39.                
  40.                 GetFileContent getContent = new GetFileContent();
  41.  
  42.                 pw.println("HTTP/1.0 200 OK");
  43.                 pw.println();
  44.                
  45.                
  46.                     if (!f.isFile() || !f.canRead()) {
  47.                         String pageContent = "";
  48.                         f = new File("C:/javaServer/errorPage.html");
  49.                         pageContent = getContent.getHtmlContent(f);
  50.                         pw.print(pageContent);
  51.                        
  52.                     } else {
  53.                        
  54.                         if (fString.endsWith(".html") || fString.endsWith(".htm")) {
  55.                            
  56.                             String pageContent = "";
  57.                             pageContent = getContent.getHtmlContent(f);
  58.                             pw.printf(pageContent);
  59.                            
  60.                         } else if (fString.endsWith(".jpg") || fString.endsWith(".jpeg") || fString.endsWith(".png") || fString.endsWith(".gif") || fString.endsWith(".bmp")) {
  61.                            
  62.                             byte[] pageContent = Files.readAllBytes(f.toPath());
  63.                             os.write(pageContent, 0, pageContent.length);
  64.                            
  65.                         } else {
  66.                             System.out.println("FILEN \""+fName+"\" KUNNE IKKE VISES I BROWSEREN");
  67.                         }
  68.  
  69.  
  70.                          // Udskriver oplysninger om filen i konsollen
  71.                          
  72.                             System.out.println("*****************************************************");
  73.                             System.out.println(fName + " blev hentet! ");
  74.                             System.out.println("(" + version + " " + method + " REQUEST)");
  75.                             System.out.println();
  76.                             System.out.println("Oplysninger om filen: ");
  77.                             System.out.println("Filtype: \t" + fType);
  78.                             System.out.println("Stoerrelse: \t" + fSizeKB + " KB");
  79.                             System.out.println("*****************************************************");
  80.                             System.out.println();
  81.                     }
  82.  
  83.  
  84.                 pw.flush();
  85.                 pw.close();            
  86.                
  87.             } catch (Exception e) {
  88.                 e.printStackTrace();
  89.             }
  90.            
  91.         } catch (IOException e) {
  92.             e.printStackTrace();
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment