📄 jhttpserver.java
字号:
/*This file is part of JHttpServer.This package is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.JHttpServer is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with JHttpServer; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/// Title : HttpServer.java// Version : 0.92// Copyright : Copyright (c) 2001// Author : Florent CUETO (fcueto@wanadoo.fr)// Description : Http Serverpackage jhttpserver;import java.net.*;import java.io.*;import java.util.*;import javax.servlet.*;public class JHttpServer{ private ServerSocket serverSocket; private String serverName; private int serverPort; private Hashtable loadedServlets; private ServletContextImpl servletContextImpl; private String serverRoot = null; private String[] defaultDocuments = { "index.html", "index.htm", "default.html", "default.htm" }; private boolean gzipEnabled; private InetAddress bindAddr = null; public JHttpServer(String serverName, int serverPort, String serverRoot) { super(); this.serverName = serverName; this.serverPort = serverPort; this.serverRoot = serverRoot; this.gzipEnabled = true; loadedServlets = new Hashtable(); servletContextImpl = new ServletContextImpl(this); servletContextImpl.setAttribute("HTTP_SERVER", this); } public GenericServlet getLoadedServlet(String servletName) { Object obj = loadedServlets.get(servletName); if (obj == null) return(null); return((GenericServlet)obj); } public void addLoadedServlet(String servletName, GenericServlet loadedServlet) { loadedServlets.put(servletName, loadedServlet); } public void start() { try { serverSocket = new ServerSocket(serverPort, 50, bindAddr); } catch(BindException e) { System.out.println("Port " + serverPort + " already in use - Exiting."); return; } catch(IOException e) { System.out.println("Error while creating ServerSocket : " + e); return; } while(true) { Socket socket; try { socket = serverSocket.accept(); JHttpServerThread thread = new JHttpServerThread(this, socket); thread.start(); } catch (IOException e) { //System.out.println("Error while accepting connection : " + e); } } } public static void main(String[] args) { System.out.println(getServerInfo() + " by Florent CUETO <fcueto@wanadoo.fr>"); if ((args.length != 2) && (args.length != 3)) { System.out.println("Usage : java jhttpserver.JHttpServer serverName serverPort (serverRoot)"); System.exit(0); } if (args.length == 2) { System.out.println("Servername : " + args[0]); System.out.println("Serverport : " + args[1]); new JHttpServer(args[0], Integer.parseInt(args[1]), null).start(); } else { System.out.println("Servername : " + args[0]); System.out.println("Serverport : " + args[1]); System.out.println("Serverroot : " + args[2]); new JHttpServer(args[0], Integer.parseInt(args[1]), args[2]).start(); } } public void setServerName(String serverName) { this.serverName = serverName; } public String getServerName() { return serverName; } public void setServerPort(int serverPort) { this.serverPort = serverPort; } public int getServerPort() { return serverPort; } public ServletContext getServletContext() { return servletContextImpl; } public String getServerRoot() { return serverRoot; } void setServerRoot(String serverRoot) { this.serverRoot = serverRoot; } public static String getServerInfo() { return("JHttpServer/0.92"); } public String[] getDefaultDocuments() { return defaultDocuments; } void setDefaultDocuments(String[] defaultDocuments) { this.defaultDocuments = defaultDocuments; } void setGzipEnabled(boolean gzipEnabled) { this.gzipEnabled = gzipEnabled; } public boolean isGzipEnabled() { return gzipEnabled; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -