[JSP] 서블릿을 이용한 forward 포워딩
by mini_min[JSP] 서블릿을 이용한 forward 포워딩
😢 서블릿 완벽하게 배우지 않은 상태! 22.10.03 😢
✔️ 서블릿을 이용한 포워딩 예
: WEB-INF - jsp 파일의 ch05 폴더에 코드 작성
<!-- HTML 에서 주소의 가장 앞 / 는 주소 -->
<form action="/study2/ch05/demo" method="post">
<p>이름 : <input type="text" name="name"></p>
<p>나이 : <input type="text" name="age"></p>
<p>
<button type="submit">확인</button>
</p>
</form>
- demo 폴더에 있는 Demoservlet 실행
doGet 과 doPost 방식 두가지 모두 작성한다.
doGet방식으로 서블릿에서의 포워딩시, RequestDispatcher 는 담고 있는 정보를 저장하고 있다가 그 다음 페이지, 다음 페이지에서도 해당 정보를 볼 수 있게 저장하는 기능을 한다.
@WebServlet("/ch05/demo")
public class DemoServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//get 방식으로 요청하는 경우
//forward 할 때 path 의 가장 앞 / 는 context path 까지 이다.
RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/jsp/ch05/write.jsp");
rd.forward(req, resp);
}
doPost 방식으로 요청하는 경우,getParampeter 로 파리미터를 받아온다.
이후 RequestDispatcher 객체로 결과를 포워딩한다.
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//post 방식으로 요청하는 경우
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String s = age >= 19 ? "성인" : "미성년자";
String a = name + "님의 나이가 " + age + "이므로 ," + s + "입니다.";
req.setAttribute("msg", a);
RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/jsp/ch05/result.jsp");
rd.forward(req, resp);
}
'JSP' 카테고리의 다른 글
[JSP] Calendar 달력 - 일정표 (0) | 2022.10.03 |
---|---|
[JSP] Calendar 달력 만들기 (0) | 2022.10.03 |
[JSP] JSP 에러 처리 : page지시어 / errorPage 속성 (0) | 2022.10.03 |
[JSP] forward 액션태그 (포워딩) / element, text 액션 태그 (0) | 2022.10.03 |
[JSP] 액션 태그 (계산기) / java Bean / setProperty, getProperty (0) | 2022.10.03 |
블로그의 정보
개발자 미니민의 개발로그
mini_min