Advertisement
Guest User

FileUploadServlet

a guest
Oct 10th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.37 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.enmaka.matistikk.config;
  7.  
  8. import java.io.File;
  9. import java.io.IOException;
  10. import java.io.PrintWriter;
  11. import java.sql.Connection;
  12. import java.sql.DriverManager;
  13. import java.sql.SQLException;
  14. import java.util.List;
  15. import javax.servlet.ServletException;
  16. import javax.servlet.http.HttpServlet;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import org.apache.commons.fileupload.FileItem;
  20. import org.apache.commons.fileupload.disk.DiskFileItemFactory;
  21. import org.apache.commons.fileupload.servlet.ServletFileUpload;
  22.  
  23. /**
  24.  *
  25.  * @author Andreas
  26.  */
  27. public class FileUploadServlet extends HttpServlet {
  28.  
  29.     private final String UPLOAD_DIRECTORY = "C:/syspro/Matistikk/src/main/webapp/uploads";
  30.    
  31.     private String bildeurl = "";
  32.     // "jdbc:derby://localhost:1527/myDB;create=true;user=me;password=mine";
  33.     private String dbURL = "jdbc:derby://localhost:1527/bildeurl;create=true;user=root;password=secret";
  34.     private String dbUser = "root";
  35.     private String dbPass = "secret";
  36.  
  37.     Connection conn = null; // connection to the database
  38.     String message = null;  // message will be sent back to client
  39.  
  40.     /**
  41.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  42.      * methods.
  43.      *
  44.      * @param request servlet request
  45.      * @param response servlet response
  46.      * @throws ServletException if a servlet-specific error occurs
  47.      * @throws IOException if an I/O error occurs
  48.      */
  49.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  50.             throws ServletException, IOException {
  51.         response.setContentType("text/html;charset=UTF-8");
  52.         try (PrintWriter out = response.getWriter()) {
  53.             /* TODO output your page here. You may use following sample code. */
  54.             out.println("<!DOCTYPE html>");
  55.             out.println("<html>");
  56.             out.println("<head>");
  57.             out.println("<title>Servlet FileUpload</title>");
  58.             out.println("</head>");
  59.             out.println("<body>");
  60.             out.println("<h1>Servlet FileUpload at " + request.getContextPath() + "</h1>");
  61.             out.println("</body>");
  62.             out.println("</html>");
  63.         }
  64.     }
  65.  
  66.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  67.     /**
  68.      * Handles the HTTP <code>GET</code> method.
  69.      *
  70.      * @param request servlet request
  71.      * @param response servlet response
  72.      * @throws ServletException if a servlet-specific error occurs
  73.      * @throws IOException if an I/O error occurs
  74.      */
  75.     @Override
  76.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  77.             throws ServletException, IOException {
  78.         processRequest(request, response);
  79.     }
  80.  
  81.     /**
  82.      * Handles the HTTP <code>POST</code> method.
  83.      *
  84.      * @param request servlet request
  85.      * @param response servlet response
  86.      * @throws ServletException if a servlet-specific error occurs
  87.      * @throws IOException if an I/O error occurs
  88.      */
  89.     @Override
  90.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  91.             throws ServletException, IOException {
  92.         String fname = "";
  93.  
  94.         // Process only if its multipart content første variant fra yt
  95.         PrintWriter out = response.getWriter();
  96.         if (ServletFileUpload.isMultipartContent(request)) {
  97.             try {
  98.                 List<FileItem> multiparts = new ServletFileUpload(
  99.                         new DiskFileItemFactory()).parseRequest(request);
  100.                 for (FileItem item : multiparts) {
  101.                     if (!item.isFormField()) {
  102.                         fname = new File(item.getName()).getName();
  103.                         bildeurl = UPLOAD_DIRECTORY + File.separator + fname;
  104.                         item.write(new File(bildeurl));
  105.                         System.out.println("Lagret bilde til disk, prøver metodekall");
  106.                        lagreBildeUrl();
  107.                     }
  108.                 }
  109.                 out.println("Files Uploaded Successfully <br/>" + UPLOAD_DIRECTORY + File.separator + fname);
  110.  
  111.             } catch (Exception ex) {
  112.                 out.println("File upload failed due to " + ex);
  113.             }
  114.         } else {
  115.             out.println("Sorry this servlet only handels file upload request");
  116.         }
  117.     }
  118.  
  119.     public void lagreBildeUrl()throws Exception {
  120.         System.out.println("Inne i metode Database");
  121.         try {
  122.             Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
  123.             conn = DriverManager.getConnection(dbURL);
  124.             //String sql = "INSERT INTO BILDEURL values (DEFAULT,'testavmetode')";
  125.             //PreparedStatement statement = conn.prepareStatement(sql);
  126.             //statement.executeUpdate();
  127.         } catch (ClassNotFoundException ex) {
  128.             System.out.println("Error: unable to load driver class!");
  129.             System.exit(1);      
  130.         }finally{
  131.             if(conn !=null){
  132.                 try{
  133.                     conn.close();
  134.                 }catch(SQLException sqle){
  135.                     sqle.printStackTrace();
  136.                 }
  137.             }
  138.         }
  139.     }
  140.         /*try {        
  141.             // constructs SQL statement
  142.             String sql = "INSERT INTO BILDEURL values (DEFAULT,'testavmetode')";
  143.             PreparedStatement statement = conn.prepareStatement(sql);
  144.             statement.executeUpdate();
  145.  
  146.         } catch (SQLException ex) {
  147.             message = "ERROR: " + ex.getMessage();
  148.             ex.printStackTrace();
  149.         } finally {
  150.             if (conn != null) {
  151.                 // closes the database connection
  152.                 try {
  153.                     conn.close();
  154.                 } catch (SQLException ex) {
  155.                     ex.printStackTrace();
  156.                 }
  157.         */
  158.  
  159.    
  160.     /**
  161.      * Returns a short description of the servlet.
  162.      *
  163.      * @return a String containing servlet description
  164.      */
  165.     @Override
  166.     public String getServletInfo() {
  167.         return "Short description";
  168.     }// </editor-fold>
  169.  
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement