본문 바로가기

공부일지

231115 (JSP)

  • request의 요소
    • getServerName() : 서버 도메인 이름
    • getServerPort() : 서버의 포트번호
    • getServletPath() : 서블릿 주소
    • getRequestURL() : 요청하는 URL, URL이 URI의 상위 정보이다.
    • getRequestURI() : 요청하는 URI
    • requestDispatcher : 요청 객체(request)로 초기화되며, 요청에 대한 처리를 다시 페이지로 넘길지, 처리 결과를 얻어오는 등 여러 기능을 수행한다.
      • 컨트롤러(Servlet)에서 페이지를 전환하는 용도로 사용된다.
      • req.getRequestDispatcher(”전환할 페이지 파일주소")로 전달할 페이지 주소를 저장한다.
      • rd.forward(req, resp)를 이용하여 요청을 중계한다.
      • 중계할 때 기존 req의 정보들이 사라진다.
  • form에서 servlet으로 요청 전송하기
    • form에 action 속성으로 servlet의 어노테이션 이름을 지정한다.
    • form 내부의 input 요소마다 name속성을 붙여 servlet으로 보낼 파라미터로 지정한다.
    • servlet에서 req.getParameter로 form에서 전송한 데이터를 확인한다.
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("ex02 도착");
		String email = req.getParameter("email");
		String pw = req.getParameter("pw");
		System.out.println(email + " " + pw);
		if ("admin".equals(email) && "admin1234".equals(pw)) {
			rd = req.getRequestDispatcher("request/ex03req.jsp");
		} else {
			rd = req.getRequestDispatcher("request/ex02req.jsp");
		}
		rd.forward(req, resp);
	}
  • servlet
    • service 메소드 오버라이드
      • doGet과 doPost 모두 처리하는 메소드이다.
  • scope
    • 웹 페이지에서 요청을 얼마나 저장하고 있을지 결정하여 다양한 scope를 사용할 수 있다.
    • 기본적인 request는 바로 다음 위치까지만 정보가 전달된다.(jsp → servlet)
    • attribute
      • 바로 다음 요청에서만 사용할 수 있는 정보를 보낸다.
      • setAttribute를 사용하여 servlet이 jsp로 데이터를 보낼 수 있다.
      • getAttribute를 사용하여 해당 데이터를 사용할 수 있다.
      • request는 정보를 바로 다음으로(jsp → servlet)만 보낼 수 있다. 따라서 servlet에서 다음 jsp로 보내기 위해서는 setAttribute로 전달할 필요가 있다.

'공부일지' 카테고리의 다른 글

231116 (JSP)  (0) 2023.11.16
231116 (Android)  (0) 2023.11.16
231115 (Android)  (0) 2023.11.15
231114 (JSP)  (1) 2023.11.14
231114 (Android)  (0) 2023.11.14