httpsession.java

来自「通过JAVA做的简单的HTTP服务器」· Java 代码 · 共 59 行

JAVA
59
字号
package com.softeem.j2se.lesson3;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;

public class HttpSession extends Thread {

	private Socket s;
    private static final String WEB_ROOT = "E:\\www\\"; 
	public HttpSession(Socket s) {
		super();
		this.s = s;
	}

	public void run() {
		BufferedReader brNet = null;
		PrintStream ps = null;
		BufferedReader brFile = null;
		 PrintStream psNet = null;
		try {
			brNet = new BufferedReader(
					new InputStreamReader(s.getInputStream()));
	        ps = System.out;
			String line = null;
			while((line = brNet.readLine())!=null){
				ps.println(line);
				if("".equals(line))break;
				if(line.startsWith("GET")){
					String[] strs = line.split(" ");
					String fileName = strs[1].substring(1);
					brFile = new BufferedReader(new InputStreamReader(new FileInputStream(WEB_ROOT+fileName)));
				    psNet = new PrintStream(s.getOutputStream(),true);
					String len = null;
				    while((len = brFile.readLine())!=null){
				    	psNet.println(len);
				    }
				    brFile.close();
				    psNet.close();
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally{ 
			try {
				
				brNet.close();
				ps.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?