All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.com.generationjava.servlet.FileSystemServlet Maven / Gradle / Ivy

The newest version!
package com.generationjava.servlet;

import java.io.IOException;
import java.io.File;
import java.io.Writer;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;

import com.generationjava.io.find.FileFinder;
import com.generationjava.io.find.Finder;

public class FileSystemServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, 
                      HttpServletResponse response) 
        throws ServletException, IOException
    {
        ServletConfig config = getServletConfig();

        // the root of the file-system
        String root = config.getInitParameter("root");
        
        // pattern of files to consider
        String filePattern = config.getInitParameter("file-pattern");
        // pattern of dirs to consider
        String dirsPattern = config.getInitParameter("dirs-pattern");
        // also ones to exclude??

        // a properties file mapping a mime type to a java class
        // to display it. Must extend display(file).
        String mimeUrl = config.getInitParameter("mime");
        
        // use getResource to load mime mapping. FileW.

        Writer out = response.getWriter();
        out.write("root="+root);
        out.write("
"); out.write("file-pattern="+filePattern); out.write("
"); out.write("dirs-pattern="+dirsPattern); out.write("
"); out.write("mime="+mimeUrl); out.write("
"); // if no request passed in, then run on root. String target = request.getParameter("target"); /* if(target == null) { target = root; } else { // SECURITY. ISH. target = root + target; } */ target = root; // open request-target as a directory. Finder finder = new FileFinder(); File file = new File(target); String[] found = finder.find(file); for(int i=0; i"); } // if request-target == directory // get all files in the directory that match pattern? // Ask each displayer to do an iconDisplay for each one. // show on a html page as clickable icons. // if request-target = a file. // ask its displayer to show it in long form. // handle the concept of a file-writing. // maybe make an applet front end rather than browser someday. // offer multiple views etc. } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy