Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package at.tschoner.catalog.model;
- import lombok.Getter;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * Created by Maxi on 13.09.2017.
- * at 14:22
- */
- @Getter
- public class DBManager {
- private Connection connection;
- public DBManager() throws SQLException {
- try {
- Class.forName( "com.mysql.jdbc.Driver" );
- } catch ( ClassNotFoundException e ) {
- e.printStackTrace();
- }
- connection = DriverManager.getConnection( "jdbc:mysql://localhost/catalog?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "" );
- }
- public Card getCard(int id) throws SQLException{
- final String sql = "SELECT * FROM card WHERE id=?";
- final PreparedStatement preparedStatement = connection.prepareStatement( sql );
- preparedStatement.setInt( 1, id );
- final ResultSet resultSet = preparedStatement.executeQuery();
- final Card card = new Card();
- if(resultSet.next()){
- card.setId(id);
- card.setDescription( resultSet.getString( "DESCRIPTION" ) );
- card.setThumb( resultSet.getString( "THUMB" ) );
- }
- resultSet.close();
- preparedStatement.close();
- return card;
- }
- public List<Card> getCards(String text) throws SQLException{
- final String sql = "SELECT * FROM card WHERE DESCRIPTION LIKE ?";
- final PreparedStatement preparedStatement = connection.prepareStatement( sql );
- preparedStatement.setString( 1, "%" + text + "%" );
- final ResultSet resultSet = preparedStatement.executeQuery();
- final ArrayList<Card> cards = new ArrayList<>();
- while(resultSet.next()){
- final Card card = new Card();
- card.setId(resultSet.getInt( "ID" ));
- card.setDescription( resultSet.getString( "DESCRIPTION" ) );
- card.setThumb( resultSet.getString( "THUMB" ) );
- cards.add( card );
- }
- resultSet.close();
- preparedStatement.close();
- return cards;
- }
- public void close() throws SQLException {
- if(!connection.isClosed())
- connection.close();
- }
- }
- package at.tschoner.catalog.control;
- import at.tschoner.catalog.model.Card;
- import at.tschoner.catalog.model.DBManager;
- 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.servlet.http.HttpSession;
- import java.io.IOException;
- import java.sql.SQLException;
- import java.util.List;
- /**
- * Created by Maxi on 20.09.2017.
- * at 14:36
- */
- @WebServlet( name = "SearchServlet", value = "/SearchServlet")
- public class SearchServlet extends HttpServlet {
- protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
- try {
- final DBManager dbManager = new DBManager();
- final String text = request.getParameter( "text" );
- final List<Card> cards = dbManager.getCards( text );
- final HttpSession session = request.getSession();
- session.setAttribute( "cards", cards );
- response.sendRedirect( "cards2.jsp" );
- } catch ( SQLException e ){
- e.printStackTrace();
- }
- }
- protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
- }
- }
- <%@ page import="at.tschoner.catalog.model.Card" %>
- <%@ page import="java.util.List" %><%--
- Created by IntelliJ IDEA.
- User: Maxi
- Date: 13.09.2017
- Time: 14:07
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>JesusGott</title>
- </head>
- <body>
- <form action="/SearchServlet" method="POST">
- <input type="text" name="text"/>
- <input type="submit" name="search" value="SUCHE"/>
- </form>
- <table>
- <%
- List<Card> cards = ( List<Card> ) session.getAttribute( "cards" );
- for ( Card card : cards ) {
- %>
- <tr>
- <td><%=card.getId() %></td>
- <td><%=card.getDescription() %></td>
- <td><img src="<%=card.getThumb()%>" width="500"></td>
- </tr>
- <%
- }
- %>
- </table>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement