Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * RequestHandler klassen
- */
- class RequestHandler extends Thread {
- private BufferedReader br;
- private PrintWriter pw;
- private DataOutputStream dos;
- private OutputStream os;
- public RequestHandler(Socket s) throws IOException {
- br = new BufferedReader(new InputStreamReader(s.getInputStream()));
- pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
- dos = new DataOutputStream(s.getOutputStream());
- os = s.getOutputStream();
- }
- public void run() {
- try {
- String request = br.readLine();
- String[] parts = request.split(" ");
- String method = parts[0];
- String path = parts[1];
- String version = parts[2];
- try {
- File f = new File("C:/javaServer/"+path);
- JFileChooser filechooser = new JFileChooser();
- String fType = filechooser.getTypeDescription(f);
- String fString = f.getPath();
- String fName = f.getName();
- long fSize = f.length();
- long fSizeKB = fSize / 1024;
- GetFileContent getContent = new GetFileContent();
- pw.println("HTTP/1.0 200 OK");
- pw.println();
- if (!f.isFile() || !f.canRead()) {
- String pageContent = "";
- f = new File("C:/javaServer/errorPage.html");
- pageContent = getContent.getHtmlContent(f);
- pw.print(pageContent);
- } else {
- if (fString.endsWith(".html") || fString.endsWith(".htm")) {
- String pageContent = "";
- pageContent = getContent.getHtmlContent(f);
- pw.printf(pageContent);
- } else if (fString.endsWith(".jpg") || fString.endsWith(".jpeg") || fString.endsWith(".png") || fString.endsWith(".gif") || fString.endsWith(".bmp")) {
- byte[] pageContent = Files.readAllBytes(f.toPath());
- os.write(pageContent, 0, pageContent.length);
- } else {
- System.out.println("FILEN \""+fName+"\" KUNNE IKKE VISES I BROWSEREN");
- }
- // Udskriver oplysninger om filen i konsollen
- System.out.println("*****************************************************");
- System.out.println(fName + " blev hentet! ");
- System.out.println("(" + version + " " + method + " REQUEST)");
- System.out.println();
- System.out.println("Oplysninger om filen: ");
- System.out.println("Filtype: \t" + fType);
- System.out.println("Stoerrelse: \t" + fSizeKB + " KB");
- System.out.println("*****************************************************");
- System.out.println();
- }
- pw.flush();
- pw.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment