implement support for HEAD request

-igor

On Sat, May 31, 2008 at 3:54 AM, Mathias P.W Nilsson
<[EMAIL PROTECTED]> wrote:
>
> Hi!
>
> I have this servlet that is called from wicket only using a url
> /Files/thefile.jpg
> The servlet is url-mapped on /Files/*. But it is very slow and I was just
> wondering could this be done in a better way
>
> package se.edgesoft.hairless.web.resource;
>
> import java.io.DataInputStream;
> import java.io.File;
> import java.io.FileInputStream;
> import java.io.IOException;
>
> import javax.servlet.ServletConfig;
> import javax.servlet.ServletContext;
> import javax.servlet.ServletException;
> import javax.servlet.ServletOutputStream;
> import javax.servlet.http.HttpServlet;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
>
> import org.springframework.web.context.support.WebApplicationContextUtils;
>
> import se.edgesoft.hairless.application.HairlessApplicationSettings;
>
> /**
>  * Resource servlet for getting images and flash movies
>  * @author Mathias Nilsson
>  *
>  */
> public class FileResourceServlet  extends HttpServlet {
>        private static final long serialVersionUID = 1L;
>        private static ServletConfig config;
>
>
>    protected  Object getBean(String name) {
>        Object obj =
> WebApplicationContextUtils.getWebApplicationContext(config.getServletContext()).getBean(name);
>        return obj;
>    }
>    public void destroy() {
>        config = null;
>    }
>
>    public ServletConfig getServletConfig() {
>        return config;
>    }
>
>    public String getServletInfo() {
>        return "Resource servlet for Hairless";
>    }
>
>    public void init(ServletConfig servletConfig ) throws ServletException {
>        config = servletConfig;
>
>    }
>
>    public HairlessApplicationSettings getHairlessApplicationSettings(){
>        return (HairlessApplicationSettings)getBean(
> "hairlessApplicationSettings" );
>    }
>
>    @Override
>    protected void doGet(HttpServletRequest request, HttpServletResponse
> response) throws ServletException, IOException {
>                 try {
>                         File file = new File(
> getHairlessApplicationSettings().getFileResourcePath() ,
> request.getRequestURI().replace( request.getContextPath(), "" ) );
>                 int length   = 0;
>                 ServletOutputStream op = response.getOutputStream();
>                 ServletContext context  =
> getServletConfig().getServletContext();
>                 String mimetype = context.getMimeType(
> file.getAbsolutePath() );
>                 response.setContentType( (mimetype != null) ? mimetype :
> "application/octet-stream" );
>                 response.setContentLength( (int)file.length() );
>
>                 byte[] bbuf = new byte[1024];
>                 DataInputStream in = new DataInputStream(new
> FileInputStream(file));
>
>                 while ((in != null) && ((length = in.read(bbuf)) != -1))
>                 {
>                     op.write(bbuf,0,length);
>                 }
>
>                 in.close();
>                 op.flush();
>                 op.close();
>
>             } catch (Exception e) {
>             }
>    }
>
>
> }
>
> --
> View this message in context: 
> http://www.nabble.com/Resource-servlet-from-wicket-tp17574070p17574070.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to