⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servletserver.java

📁 一个基于PlaceLab的室内和室外的智能导航系统
💻 JAVA
字号:
package org.placelab.proxy;import java.util.Enumeration;import java.util.Hashtable;public class ServletServer extends HTTPServer {	public static final int DEFAULT_PORT = 2081;	private static final String MESSAGE_404 = "404 Not Found.";		private static Hashtable servlets = new Hashtable();	private static String defaultPattern = null;		public ServletServer (int port) {		super(port, 2, "Placelab Servlet Server");	 // only use two threads	}		public static boolean addServlet (String urlPattern, Servlet servlet) {;			if (servlets.containsKey(urlPattern))			return false;				servlets.put(urlPattern, servlet);//		System.err.println("Servlet Added: " + servlet.getName() + " at address: " + getProperURL() + urlPattern);		return true;	}		public static void setDefault (String pattern) {		defaultPattern = pattern;	}	public HTTPResponse serviceRequest (HTTPRequest request) {				String path = request.url.getPath().trim().replaceAll("//", "/");		if (path.length() == 0)			path = "/";				if ((defaultPattern != null) && path.equals("/") && !servlets.containsKey("/")) {			HTTPResponse redirect = new HTTPResponse(HTTPResponse.RESPONSE_MOVED_TEMPORARILY, null, -1, null );			redirect.addHeader("Location", defaultPattern);			return redirect;		}				for (Enumeration e = servlets.keys(); e.hasMoreElements();) {			String pattern = (String) e.nextElement();			if (path.indexOf(pattern) == 0) {				Servlet s = (Servlet) servlets.get(pattern);				HTTPResponse response =  s.serviceRequest(request);				return response;			}		}				return new HTTPResponse(HTTPResponse.RESPONSE_NOT_FOUND, "text/html", MESSAGE_404.length(),  MESSAGE_404.getBytes());	}	public static void main (String[] args) {				try {			ServletServer ss = new ServletServer(9990);						addServlet("/test", new TestServlet());			ServletServer.setDefault("/test");						ss.startServer();		} catch (Exception e) {			e.printStackTrace();		}			}		public static String getProperURL () {				String shost = null;		String sport = null;				if (shost == null)			shost = "localhost";				if (sport == null) 			sport = Integer.toString(DEFAULT_PORT);				return "http://"+shost+":"+sport+""; 	}}class TestServlet implements Servlet {	public String getName () {		return "TestServlet";	}		public HTTPResponse serviceRequest (HTTPRequest request) {				String text = "<html><body><b>Test Servlet OK!</b></body></html>\n";					return new HTTPResponse(				HTTPResponse.RESPONSE_OK,				"text/html", // mime type				text.length(),				text.getBytes());			}		public Hashtable injectHeaders(HTTPRequest request) {		return null;	}}

⌨️ 快捷键说明

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