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

📄 dispatchservlet.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
字号:
// **********************************************************************// <copyright>//  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// </copyright>// **********************************************************************// $Source: /cvs/distapps/openmap/src/vpfservlet/WEB-INF/src/com/bbn/openmap/vpfservlet/DispatchServlet.java,v $// $Revision: 1.2.2.2 $ $Date: 2005/08/11 21:03:10 $ $Author: dietrick $// **********************************************************************package com.bbn.openmap.vpfservlet;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.bbn.openmap.io.FormatException;import com.bbn.openmap.layer.vpf.DcwRecordFile;/** * This class infers the format of a VPF file from the name of the * file, and dispatches to the appropriate servlet for that type. *  * This could probably also be handled by a long set of * servlet-mapping tags in the deployment descriptor. (web.xml) */public class DispatchServlet extends VPFHttpServlet {    public static final String RECORD_FILE_OBJ = "com.bbn.openmap.vpf_tools.table_obj";    public static final String ROOTPATH_FILENAME = "com.bbn.openmap.vpf_tools.url_path";    /**     * A do-nothing constructor - init does all the work.     */    public DispatchServlet() {        super();    }    /**     * Just a test main to parse vpf datafiles     *      * param args files to parse, plus other command line flags     */    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        String pathInfo = setPathInfo(request);        String rootpath = contextInfo.resolvePath(pathInfo);        if (!pathOkay(rootpath, pathInfo, response)) {            return;        }        PrintWriter out = response.getWriter();        File rp = new File(rootpath);        String filename = rp.getName().toLowerCase();        String end = "</BODY></HTML>\r\n";        // ByteArrayOutputStream bos = new ByteArrayOutputStream();        // PrintStream s = new PrintStream(bos);        // System.setOut(s);        request.setAttribute(ROOTPATH_FILENAME, rootpath);        try {            if (rp.isDirectory()) {                RequestDispatcher rd = request.getRequestDispatcher("/DirectoryList");                rd.forward(request, response);                return;            } else if (filename.endsWith("x") || filename.endsWith("x.")) {                response.setContentType("text/html");                out.println(HTML_DOCTYPE + "<HTML><HEAD><TITLE>" + filename                        + "</TITLE></HEAD>\r\n<BODY>\r\n<H1>Table " + filename                        + "</H1>\r\n");                out.println(getStylesheetHTML(request));                out.println("Skipping VLI format - this format is simply an index to find rows in a corresponding table file, it isn't very interesting to look at so its getting skipped.");            } else if (filename.endsWith("ti")) {                RequestDispatcher rd = request.getRequestDispatcher("/Thematic");                rd.forward(request, response);            } else if (filename.endsWith("si") || filename.endsWith("si.")) {                RequestDispatcher rd = request.getRequestDispatcher("/SpatialIndex");                rd.forward(request, response);            } else if (filename.endsWith(".doc")) {                RequestDispatcher rd = request.getRequestDispatcher("/DocFile");                rd.forward(request, response);            } else {                response.setContentType("text/html");                out.println(HTML_DOCTYPE + "<HTML>\n<HEAD><TITLE>" + filename                        + "</TITLE></HEAD>\r\n<BODY>\r\n<H1>Table " + filename                        + "</H1>\r\n");                out.println(getStylesheetHTML(request));                DcwRecordFile foo = new DcwRecordFile(rootpath);                request.setAttribute(RECORD_FILE_OBJ, foo);                RequestDispatcher rd = request.getRequestDispatcher("/Schema");                rd.include(request, response);                RequestDispatcher rd2 = request.getRequestDispatcher("/Data");                rd2.include(request, response);                foo.close();            }        } catch (FormatException f) {            throw new ServletException("Format Error: ", f);        }        // s.close();        out.println("<pre>");        out.println("Context Path: " + request.getContextPath());        out.println("PathInfo: " + request.getPathInfo());        out.println("ServletPath: " + request.getServletPath());        out.println("Query String: " + request.getQueryString());        // out.print(bos.toString());        out.println("</pre>" + end);    }}

⌨️ 快捷键说明

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