"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 데이터를 표시하기 위해 페이지 로드 시 JSP에서 서블릿을 호출하는 방법은 무엇입니까?

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

2024년 12월 21일에 게시됨
검색:687

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에서 서블릿 데이터에 액세스:

    ...
    
    ${product.name} ${product.description} ${product.price}

이를 통해 JSP 파일은 doGet() 메소드에서 서블릿이 설정한 객체에 액세스할 수 있어 동적 콘텐츠 생성이 가능해집니다.

직접 JSP 액세스 방지

보안상의 이유로 JSP 파일은 /WEB-INF 폴더에 배치되어 직접 액세스를 방지해야 합니다. 사용자별.

참고

@WebServlet 주석을 사용하려면 Servlet 3.0 이상이 필요합니다. 이전 버전을 사용하는 경우 web.xml 파일에서 서블릿을 수동으로 등록해야 합니다.

참조

  • [Servlets Wiki 페이지]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet 및 doPost 서블릿](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)
  • [서블릿은 "HTTP를 반환합니다. 상태 404 요청한 리소스(/servlet)를 사용할 수 없습니다."]
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3