1 package com.quadcap.app.dbimage; 2 3 40 41 import java.io.File ; 42 import java.io.IOException ; 43 44 import java.sql.Connection ; 45 import java.sql.SQLException ; 46 47 import javax.servlet.RequestDispatcher ; 48 import javax.servlet.ServletConfig ; 49 import javax.servlet.ServletContext ; 50 import javax.servlet.ServletException ; 51 52 import javax.servlet.http.HttpServletRequest ; 53 import javax.servlet.http.HttpServletResponse ; 54 55 62 public class ActionLoad implements Action { 63 ServletConfig config; 64 65 69 static final String errorPage = "/error.jsp"; 70 static final String successPage = "/show.jsp"; 71 72 public ActionLoad() {} 73 74 public void init(ServletConfig config) { 75 this.config = config; 76 } 77 78 public void service(HttpServletRequest request, 79 HttpServletResponse response) 80 throws Exception 81 { 82 String root = request.getParameter("root"); 83 if (root == null || root.length() == 0) { 84 request.setAttribute("error-message", 85 "no 'root' parameter specified"); 86 forward(request, response, errorPage); 87 } else { 88 File f = new File (root); 89 90 if (!f.exists()) { 91 request.setAttribute("error-message", 92 "Can't read: " + root); 93 forward(request, response, errorPage); 94 return; 95 } 96 97 DbImageLoader loader = new DbImageLoader(); 98 try { 99 Connection conn = getConnection(); 100 try { 101 loader.loadImages(conn, root); 102 } finally { 103 conn.close(); 104 } 105 forward(request, response, successPage); 106 } catch (Throwable th) { 107 request.setAttribute("exception", th); 108 forward(request, response, errorPage); 109 } 110 } 111 } 112 113 public Connection getConnection() throws SQLException { 114 ServletContext application = config.getServletContext(); 115 DbImageServlet s = (DbImageServlet)application.getAttribute("servlet"); 116 return s.getConnection(); 117 } 118 119 public void forward(HttpServletRequest request, 120 HttpServletResponse response, 121 String page) 122 throws ServletException , IOException 123 { 124 ServletContext context = config.getServletContext(); 125 RequestDispatcher rd = context.getRequestDispatcher(page); 126 rd.forward(request, response); 127 } 128 } 129 | Popular Tags |