2015-07-10 2 views
0

Как следует загружать данные из базы данных на моей главной странице без пользователя отправить почту или получить просьбой обсодержание Загрузить динамическое по Servlet

Пусть это моя домашняя страница JSP, я хочу его популярные статьи из база данные

<body> 
     <div class="content"> 
      <div class="article"></div> 
      <div class="article"></div> 
      <div class="article"></div> 
      <div class="article"></div> 
     </div> 
</body> 

и мой сервлет, который будет Connet в моей БД и возвращает объект для заполнения моего JSP

public class ServLetLoad extends HttpServlet { 

    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
    } 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

    } 
} 

предположит, этот метод подключается к базе данных и возвращает литий й статье

List<Article> articles = new ArticleContent ('article').findAll(); 

где в сервлет я помещу это заявление, и как я буду делать мой сервлет, который будет вызван без поста или получить запрос и вернуть объект в моей JSP?

Редактировать

я это сделать

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 


     try { 
      this.factory = Persistence.createEntityManagerFactory("article"); 
      EntityManager em = factory.createEntityManager(); 
      TypedQuery<Article> article= em.createNamedQuery("Article.findAll", Article.class); 
      List<Article> result = article.getResultList(); 
      request.setAttribute("Article",result); 
      RequestDispatcher view = request.getRequestDispatcher("index.jsp"); 
      view.forward(request, response); 
     } finally { 
      out.close(); 
     } 
    } 

В JSP я не знаю, что восстановление ДАННЫЕ я попробовать что-то вроде этого

<%@page import="java.util.ArrayList"%> 
<%@page import="java.util.List"%> 
<%@page import="dao.Article"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Home Page</title> 
    </head> 
    <body> 

     <% List<Article> list; 
      list = request.getAttribute("Article"); 
     %> 
    </body> 
</html> 
+0

полужирный не нужен;) – jotadepicas

+0

только для выделения места вопрос :) –

+0

Я отредактировал отредактированный код с помощью casting ** request.getAttribute ** и цикл –

ответ

0
  • Первый сервлет вы справиться с базой данных и получить список статей
  • Вы можете пользователя в сервлет request.setAttribute("Articles",articales);
  • В своей странице JSP <% List<Article> articales = (List< Article>) request.getAttribute("Articles") %>
  • Не забудьте импортировать все необходимые классы в JSP <%@page import="" %>
+0

Но поскольку jsp поймет, что request.getAttribute («Статьи ") Это происходит из сервлета, который я создал для загрузки данных. без использования get или post from jsp –

+0

Да, когда вы находитесь в сервлете, вы просто перенаправляете на страницу jsp, в то время как перенаправление запроса содержит объект, к которому вы привязались. –

Смежные вопросы