Advertisement
Guest User

ShowImageServlet

a guest
Dec 15th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1.  
  2. import java.io.IOException;
  3. import java.io.OutputStream;
  4. import java.sql.Connection;
  5. import java.sql.ResultSet;
  6. import java.sql.Statement;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. import javax.servlet.ServletException;
  11. import javax.servlet.annotation.WebServlet;
  12. import javax.servlet.http.HttpServlet;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15.  
  16. /**
  17. * Servlet implementation class ImageShowServlet
  18. */
  19. @WebServlet(name = "ImagesShow", urlPatterns = { "/ImagesShow" })
  20. public class ImageShowServlet extends HttpServlet {
  21. private static final long serialVersionUID = 1L;
  22.  
  23. /**
  24. * @see HttpServlet#HttpServlet()
  25. */
  26. public ImageShowServlet() {
  27. super();
  28. }
  29.  
  30. /**
  31. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  32. */
  33. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  34. List<String> liste = new ArrayList<String>();
  35. Connection conn = Connexion.getInstance();
  36. try {
  37. Statement st = conn.createStatement();
  38. ResultSet rs = st.executeQuery("SELECT image FROM images");
  39. while (rs.next()) {
  40. byte[] imageData = rs.getBytes("image");
  41. liste.add(encode(imageData));
  42. }
  43. request.setAttribute("liste", liste);
  44. request.getRequestDispatcher("/index.jsp").forward(request, response);
  45. } catch (Exception e) {
  46. System.out.println("Exception: " + e);
  47. }
  48.  
  49. }
  50.  
  51. private static String encode(byte[] data) {
  52. char[] tbl = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' };
  53.  
  54. StringBuilder buffer = new StringBuilder();
  55. int pad = 0;
  56. for (int i = 0; i < data.length; i += 3) {
  57.  
  58. int b = ((data[i] & 0xFF) << 16) & 0xFFFFFF;
  59. if (i + 1 < data.length) {
  60. b |= (data[i + 1] & 0xFF) << 8;
  61. } else {
  62. pad++;
  63. }
  64. if (i + 2 < data.length) {
  65. b |= (data[i + 2] & 0xFF);
  66. } else {
  67. pad++;
  68. }
  69.  
  70. for (int j = 0; j < 4 - pad; j++) {
  71. int c = (b & 0xFC0000) >> 18;
  72. buffer.append(tbl[c]);
  73. b <<= 6;
  74. }
  75. }
  76. for (int j = 0; j < pad; j++) {
  77. buffer.append("=");
  78. }
  79.  
  80. return buffer.toString();
  81. }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement