> Java > java지도 시간 > 데이터를 표시하기 위해 페이지 로드 시 JSP에서 서블릿을 호출하는 방법은 무엇입니까?

데이터를 표시하기 위해 페이지 로드 시 JSP에서 서블릿을 호출하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-08 07:08:20
원래의
740명이 탐색했습니다.

How to Call a Servlet from a JSP on Page Load to Display Data?

페이지 로드 시 JSP에서 서블릿을 호출하는 방법

특정 시나리오에서는 JSP 파일에서 서블릿을 호출하지 않고 호출해야 할 수도 있습니다. HTML 양식을 사용합니다. 예를 들어, 페이지 로드 시 데이터베이스 쿼리 결과를 HTML 테이블에 표시합니다.

doGet() 메서드를 사용하는 솔루션

서블릿의 doGet() 메서드는 다음을 허용합니다. 전처리 및 JSP로의 리디렉션을 요청합니다. 이를 구현하는 방법은 다음과 같습니다.

  1. 서블릿에서 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);
        }
    }
    로그인 후 복사
  2. 서블릿 데이터에 액세스 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 파일에서 서블릿을 수동으로 등록해야 합니다.

참조

  • [Servlets Wiki 페이지]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet 및 doPost in 서블릿](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [Java 코드를 피하는 방법 JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [Servlet은 "HTTP를 반환합니다. 상태 404 요청한 리소스(/servlet)를 사용할 수 없습니다."]

위 내용은 데이터를 표시하기 위해 페이지 로드 시 JSP에서 서블릿을 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿