Advertisement
Guest User

Untitled

a guest
Sep 7th, 2016
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. package com.tutorialspoint.struts2;
  2.  
  3. import java.io.IOException;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import javax.annotation.Resource;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.annotation.WebServlet;
  10. import javax.servlet.http.HttpServlet;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13. import javax.sql.DataSource;
  14. import java.sql.Connection;
  15.  
  16. @WebServlet("/images/*")
  17. public class GetImages extends HttpServlet
  18. {
  19.  
  20. // content=blob, name=varchar(255) UNIQUE.
  21. private static final String SQL_FIND = "SELECT content FROM Image WHERE name = ?";
  22.  
  23. @Resource(name="url") // For Tomcat, define as <Resource> in context.xml and declare as <resource-ref> in web.xml.
  24. private DataSource dataSource;
  25. String userName = "userName";
  26. String password = "password";
  27.  
  28. @Override
  29. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  30. {
  31. String imageName = request.getPathInfo().substring(1); // Returns "foo.png".
  32.  
  33. try (Connection connection = dataSource.getConnection("userName", "password");
  34. PreparedStatement statement = connection.prepareStatement(SQL_FIND))
  35. {
  36. statement.setString(1, imageName);
  37.  
  38. System.out.println("connected db");
  39.  
  40. try (ResultSet resultSet = statement.executeQuery())
  41. {
  42. if (resultSet.next())
  43. {
  44. byte[] content = resultSet.getBytes("content");
  45. response.setContentType(getServletContext().getMimeType(imageName));
  46. response.setContentLength(content.length);
  47. response.getOutputStream().write(content);
  48.  
  49. System.out.println("to get image");
  50.  
  51. } else {
  52. response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404.
  53. }
  54. }
  55. } catch (SQLException e) {
  56. throw new ServletException("Something failed at SQL/DB level.", e);
  57. }
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement