Wyświetlenie wygenerowanej strony

0

Dzień Dobry,

Napisałem sobie system newsów, który pobiera dane z serwera i wyświetla na stronie. Aktualnie mam zrobione, że użytkownik klika w link na stronie, jego żądanie jest wysyłane do servletu getNews, a następnie dane są zapisywane w atrybucie żądania i przekazywane do strony news.jsp.
Niestety jak użytkownik wejdzie bezpośrednio na stronę news.jsp, wyświetla się pusta zawartość strony bez danych pobranych z serwera.

Jak można zabezpieczyć się przed tą sytuacją??

Pozdrawiam,
Paweł

0

Masz jakis kod?

0

Proszę bardzo

import BazaDanych.PolaczenieSerwerowe;
import dao.NewsDao;
import ejb.News;
import java.io.IOException;
import java.util.List;
import javax.servlet.RequestDispatcher;
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;

@WebServlet(name = "NewsList", urlPatterns = {"/NewsList.do"})
public class NewsList extends HttpServlet {
RequestDispatcher rd;
List<News>listaNews;
NewsDao nd;

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PolaczenieSerwerowe polaczenieSerwerowe = new PolaczenieSerwerowe();
    nd = new NewsDao(polaczenieSerwerowe);
    
        try {
		   rd = request.getRequestDispatcher("news.jsp");
                   HttpSession session = request.getSession();
                   listaNews = nd.zwrocListeNewsow();
                   request.setAttribute("listNews", listaNews);
        }
        catch(Exception ex ) {
		   request.setAttribute("error", "error");
                   ex.printStackTrace();
        }
        finally {
            rd.forward(request, response);        
        }
    }
}
0

Musisz ustawić mapowanie, albo żeby użytkownik nie mógł wchodzić na strony *.jsp albo dodać przekierowanie na kontroler który wyświetli dany plik .jsp
Trzeba rozróżnić że odczyt pliku .jsp bez jego wywołania poprzez kontroler, powoduje że wyświetli ci się strona bez udziału logiki, więc wszystkie zmienne z których korzystasz będą null.

0

A ma Pan jakiś może przykład??

0

Bardziej by mi zależało jakoś zdefinować to w deskryptorze rozmieszczenia, niż na kazdej stronie jsp umieszczac znacznik, która sprawdza czy strona przeszła przez kontroler.l

1 użytkowników online, w tym zalogowanych: 0, gości: 1