Pastebin
Paste #113:
< previous paste - next paste>
Pasted by tdn
package dk.mobilenation.imagetool.web;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URL;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gif4j.GifDecoder;
import com.gif4j.GifEncoder;
import com.gif4j.GifImage;
import dk.mobilenation.imagetool.interfaces.Image;
import dk.mobilenation.imagetool.interfaces.ImageHome;
/**
* Servlet Class
*
* @web.servlet name="Resize"
* display-name="Name for Resize"
* description="Description for Resize"
* @web.servlet-mapping url-pattern="/Resize"
* @web.servlet-init-param name="A parameter"
* value="A value"
* @web.ejb-ref
* name="ejb/Image"
* type="Session"
* home="dk.mobilenation.imagetool.interfaces.FiboHome"
* remote="dk.mobilenation.imagetool.interfaces.Fibo"
* description="Reference to the Image EJB"
*
* @jboss.ejb-ref-jndi
* ref-name="ejb/Image"
* jndi-name="ejb/Image"
*/
public class ResizeServlet extends HttpServlet {
private ImageHome home;
public ResizeServlet() {
super();
// TODO Auto-generated constructor stub
}
public void init(ServletConfig config) throws ServletException {
//super.init(config);
try {
Context context = new InitialContext();
Object ref = context.lookup("java:/comp/env/ejb/Image");
home = (ImageHome) PortableRemoteObject.narrow(ref, ImageHome.class);
} catch (Exception e) {
throw new ServletException("Lookup of java:/comp/env/ failed");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,
IOException {
resizeImage(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
resizeImage(request, response);
}
private void resizeImage(HttpServletRequest request, HttpServletResponse response) {
try {
Image bean = home.create();
URL imageURL = new URL(request.getParameter("url"));
//URL imageURL = new URL("http://gif-animate.per-il-mio-sito.com/animali_pinguini/pinguino-03.gif");
System.out.println("doGet(): Got request");
if (imageURL != null) {
try {
boolean imageSmooth = Boolean.parseBoolean(request.getParameter("smooth"));
int imageWidth = Integer.parseInt(request.getParameter("width"));
int imageHeight = Integer.parseInt(request.getParameter("height"));
GifImage theImage = GifDecoder.decode(imageURL);
GifImage resizedImage = bean.resizeGifImage(imageWidth, imageHeight, theImage, imageSmooth);
bean.remove();
response.setContentType("image/gif");
OutputStream out = response.getOutputStream();
GifEncoder.encode(resizedImage,out);
} catch (Exception e) {
//e.printStackTrace();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("Error!");
out.println("</title></head>");
out.println("<body>");
out.println("<h1>");
out.println("Bad user input!");
out.println("</h1>");
out.println("</body></html>");
out.close();
}
} else {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("Error!");
out.println("</title></head>");
out.println("<body>");
out.println("<h1>");
out.println("Empty URL!");
out.println("</h1>");
out.println("</body></html>");
out.close();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("doGet() request caught exception");
} finally {
}
}
}
New Paste
Go to most recent paste.