Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tutorialspoint.struts2;
- import java.io.IOException;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import javax.annotation.Resource;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.sql.DataSource;
- import java.sql.Connection;
- @WebServlet("/images/*")
- public class GetImages extends HttpServlet
- {
- // content=blob, name=varchar(255) UNIQUE.
- private static final String SQL_FIND = "SELECT content FROM Image WHERE name = ?";
- @Resource(name="url") // For Tomcat, define as <Resource> in context.xml and declare as <resource-ref> in web.xml.
- private DataSource dataSource;
- String userName = "userName";
- String password = "password";
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
- {
- String imageName = request.getPathInfo().substring(1); // Returns "foo.png".
- try (Connection connection = dataSource.getConnection("userName", "password");
- PreparedStatement statement = connection.prepareStatement(SQL_FIND))
- {
- statement.setString(1, imageName);
- System.out.println("connected db");
- try (ResultSet resultSet = statement.executeQuery())
- {
- if (resultSet.next())
- {
- byte[] content = resultSet.getBytes("content");
- response.setContentType(getServletContext().getMimeType(imageName));
- response.setContentLength(content.length);
- response.getOutputStream().write(content);
- System.out.println("to get image");
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND); // 404.
- }
- }
- } catch (SQLException e) {
- throw new ServletException("Something failed at SQL/DB level.", e);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement