페이지 로드 시 JSP에서 서블릿을 호출하는 방법
특정 시나리오에서는 JSP 파일에서 서블릿을 호출하지 않고 호출해야 할 수도 있습니다. HTML 양식을 사용합니다. 예를 들어, 페이지 로드 시 데이터베이스 쿼리 결과를 HTML 테이블에 표시합니다.
doGet() 메서드를 사용하는 솔루션
서블릿의 doGet() 메서드는 다음을 허용합니다. 전처리 및 JSP로의 리디렉션을 요청합니다. 이를 구현하는 방법은 다음과 같습니다.
서블릿에서 doGet()을 구현합니다.
@WebServlet("/products") public class ProductsServlet extends HttpServlet { ... protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); } }
서블릿 데이터에 액세스 JSP:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <table> <c:forEach items="${products}" var="product"> <tr> <td>${product.name}</td> <td>${product.description}</td> <td>${product.price}</td> </tr> </c:forEach> </table>
이렇게 하면 JSP 파일은 doGet() 메소드에서 서블릿이 설정한 객체에 액세스할 수 있어 동적 콘텐츠 생성이 가능해집니다.
직접 JSP 액세스 방지
보안상의 이유로 JSP 파일은 /WEB-INF 폴더 내에 있어야 하며 사용자가 직접 액세스할 수 없도록 해야 합니다.
참고
@WebServlet 주석을 사용하려면 Servlet 3.0 이상이 필요합니다. 이전 버전을 사용하는 경우 web.xml 파일에서 서블릿을 수동으로 등록해야 합니다.
참조
위 내용은 데이터를 표시하기 위해 페이지 로드 시 JSP에서 서블릿을 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!