RequestDispatcher 인터페이스를 사용하면 요청을 HTML, 서블릿 또는 JSP 등 다른 리소스로 라우팅할 수 있습니다. 이 인터페이스는 추가 리소스의 콘텐츠를 통합하는 데에도 활용될 수 있습니다. 서블릿 협력 방법 중 하나입니다. RequestDispatcher 인터페이스는 java.lang의 일부입니다. 서블릿 패키지. 이 인터페이스를 사용하면 서블릿은 요청을 받은 후 객체를 반환합니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA SERVLET - 전문 분야 | 18개 코스 시리즈 | 6가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
서블릿 RequestDispatcher는 사용자 인터페이스를 사용하여 한 소스 링크를 다른 소스 링크로 요청합니다. requestdispatcher는 양식 데이터를 유효성 검사 서블릿 페이지로 보냅니다. 서블릿 페이지가 정보의 유효성을 검사하면 요청 디스패처는 경로나 문자열 이름을 사용하여 링크를 다른 서블릿이나 JSP 페이지로 전달합니다. 웹페이지가 정보의 유효성을 검사하지 않으면 요청 디스패처 개체에 HTML 또는 JSP 페이지가 포함되고 오류 메시지가 표시됩니다.
RequestDispatcher 객체는 리소스에 요청을 보내거나 응답에 포함할 수 있습니다. 리소스는 정적이거나 동적일 수 있습니다. 서블릿 페이지에서 서블릿 요청 디스패처를 생성하는 세 가지 방법이 있습니다. 먼저 경로의 문자열 이름이나 페이지의 경로를 사용해야 합니다.
다음 구문은 경로를 사용하여 요청 디스패처 개체를 생성하는 방법을 보여줍니다.
구문:
RequestDispatcher requestdispatcherObject = ServletContext.getRequestDispatcher(" String file_path");
설명:
다음 구문은 요청 디스패처 개체를 생성하는 방법을 보여줍니다.
구문:
RequestDispatcher requestdispatcherObject = ServletContext.getNamedDispatcher(" String name");
설명:
다음 구문은 요청 인터페이스를 사용하여 요청 디스패처의 개체를 생성하는 방법을 보여줍니다.
구문:
RequestDispatcher requestdispatcherObject = request.getRequestDispatcher(" String file_path");
설명:
requestdispatcher에는 서블릿 페이지와 Html 페이지에 대한 두 가지 방법이 있습니다. 이 방법은 파일 소스를 다음 소스로 전달하거나 포함합니다.
정보가 확인되고 웹페이지가 다음 서블릿 페이지로 전달되면 전달 방법을 사용하세요.
구문:
다음 구문은 전달 방법을 사용하는 방법을 보여줍니다.
void forward(ServletRequest req, ServletResponse resp) throws ServletException, IOException
설명:
예:
코드:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Register extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter printout = resp.getWriter(); String first_id = req.getParameter("fn"); RequestDispatcher rdispatcher = req.getRequestDispatcher("/index.html"); rdispatcher.include(req, resp); } }
정보가 확인되지 않으면 페이지에 오류 메시지와 함께 동일한 페이지가 포함됩니다.
구문:
다음 구문은 include 메소드를 사용하는 방법을 보여줍니다.
void include(ServletRequest req, ServletResponse resp) throws ServletException, IOException
설명:
예:
코드:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Register extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter printout = resp.getWriter(); String first_id = req.getParameter("fn"); printout.print("Sorry!! Wrong UserId!"); RequestDispatcher rdispatcher = req.getRequestDispatcher("/index.html"); rdispatcher.include(req, resp); } }
The servlet requestdispatcher requires the following four files:
index.html: create the required form
Code:
<!DOCTYPE html> <html> <head> <title> Basic form </title> </head> <body> <form action = "first_servlet" method = "post"> <label for = "fn"> User Id: </label> <input type = "text" id = "fn" name = "fn"><br><br> <label for = "ln"> First name: </label> <input type = "text" id = "ln" name = "ln"><br> <input type = "submit" value = "Submit"> </form> </body> </html>
Register.java: create the first servlet with a request dispatcher interface
Code:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Register extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter printout = resp.getWriter(); String first_id = req.getParameter("fn"); String first_name = req.getParameter("ln"); if(first_id.equals("servlet"){ RequestDispatcher rdispatcher = req.getRequestDispatcher("sec_servlet"); rdispatcher.forward(req, resp); } else{ printout.print("Sorry!! Wrong UserId!"); RequestDispatcher rdispatcher = req.getRequestDispatcher("/index.html"); rdispatcher.include(req, resp); } } }
FinalServlet.java: create a second servlet page for the required output
Code:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class FinalServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter printout = resp.getWriter(); String name = req.getParameter("ln"); printout.print("Welcome "+name); } }
Web.xml: create servlet parameters with its page
Code:
<web-app> <servlet> <servlet-name> Register </servlet-name> <servlet-class> Register </servlet-class> </servlet> <servlet> <servlet-name> FinalServlet </servlet-name> <servlet-class> FinalServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> Register </servlet-name> <url-pattern> /first_servlet </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> FinalServlet </servlet-name> <url-pattern> /sec_servlet </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.html </welcome-file> </welcome-file-list> </web-app>
Output 1: form page
Output 2: servlet page output with an error message
Output 2: servlet page final output
The servlet requestdispatcher interface moves users from one source to another web application source. It is forward and includes the file path per requirement and source output.
위 내용은 서블릿 요청 디스패처의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!