페이지 로드 시 JSP 파일에서 서블릿 호출
질문:
서블릿을 사용할 수 있나요? HTML을 사용하지 않고 JSP 파일에서 호출됩니다. 양식?
답변:
물론입니다. 이를 달성하려면 서블릿의 doGet() 메소드를 활용하여 요청을 사전 처리한 후 JSP로 전달합니다. 이는 브라우저의 주소 표시줄이나 링크에 JSP URL을 지정하지 않고도 달성할 수 있습니다. 대신 서블릿 URL을 지정하세요.
예:
다음 코드 조각을 고려하세요.
Servlet (ProductsServlet.java):
@WebServlet("/products") public class ProductsServlet extends HttpServlet { @EJB private ProductService productService; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Product> products = productService.list(); request.setAttribute("products", products); request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); } }
JSP (products.jsp):
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <table border="1"> <c:forEach items="${products}" var="product"> <tr> <td>${product.name}</td> <td>${product.description}</td> <td>${product.price}</td> </tr> </c:forEach> </table>
이 예에서 doGet() 메소드는 ProductsServlet은 제품 목록을 검색하고 이를 요청 속성으로 설정합니다. 그런 다음 요청은 products.jsp 페이지로 전달되어 목록을 반복하고 테이블에 제품을 표시합니다.
참고:
JSP 파일이 무단 직접 액세스를 방지하기 위해 /WEB-INF 폴더 내에 배치됩니다. Servlet 3.0(또는 그 이상)은 서블릿 등록을 위해 @WebServlet 주석을 지원합니다. 그러나 업그레이드할 수 없거나 호환성 문제로 web.xml을 사용해야 하는 경우 web.xml에서 서블릿을 수동으로 등록하세요.
추가 리소스:
위 내용은 HTML 양식을 사용하지 않고 페이지 로드 시 JSP에서 서블릿을 호출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!