Study/수업 내용 정리

Servlet / JSP [ 1 / ? ] 211208

뱅코더 2021. 12. 8. 17:07

 

 

 

@WebServlet("url")

- 기존 web.xml(배포서술자)에 작성하던 servlet 연결 구문을 간소화하는 Annotation(어노테이션)

 

데이터 전송 방식

- POST : 삽입

- GET : 조회(검색)

- PUT : 수정

- DELETE : 삭제

 

* <a href=""></a> 를 이용한 요청은 GET 방식으로 처리된다.

 

* POST 방식의 요청은 문자인코딩 설정을 해야한다. (한글이 깨지기 때문)

 

@WebServlet("/login")
public class LoginServlet extends HttpServlet{
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		req.setCharacterEncoding("UTF-8");
		
		String inputId = req.getParameter("inputId");
		String inputPw = req.getParameter("inputPw");
		
		String saveId = req.getParameter("saveId");
		
		System.out.println(inputId);
		System.out.println(inputPw);
		System.out.println(saveId);
		
		String name = "아무개";
		
		if( inputId.equals("user01")) {
			name = "홍길동";
		}
	
		req.setAttribute("name", name); 
		
		RequestDispatcher dispacher = req.getRequestDispatcher("/WEB-INF/views/loginResult.jsp");
		dispacher.forward(req, resp);
		
	}
	
	
}

 

* HttpServletRequest req : 요청과 관련된 정보, 데이터(값)을 가지고있는 객체

* HttpServletResponse resp : 응답과 관련된 정보, 스트림을 가지고있는 객체

 

POST 방식은 한글이 깨지기 때문에 문자인코딩 필요하다.

-> req.setCharacterEncoding("UTF-8");

 

<input>태그에 작성된 값을 req.getParameter("name값") 이용하여 변수로 저장한다.

 

 

* <input type="checkbox">

1) 체크박스가 여러 개

--> 같은 name 속성을 가지므로 배열로 받아야한다.

 

2) 체크박스가 한 개

--> 배열로 받을 필요 없음

 

checkbox는 "checked" 속성을 가지는 경우 value = "on" (따로 지정하지 않을 시)

체크되지 않은 경우 value == null

 

 

* Parameter가 아닌 새로운 값을 JSP에 위임하는 방법

 

req.setAttribute("name",name);

--> Key : Value 형태로 req에 담아서 JSP로 위임한다.

 

** EL을 사용하지 않는 경우

- setAttribute를 통해 넘어간 매개변수는 자료형이 Object로 설정되어있음

--> JSP에서 사용하기 위해서는 다운캐스팅을 해야한다.

 

 

 

 

'Study > 수업 내용 정리' 카테고리의 다른 글

Spring (2/?)  (0) 2022.01.11
Spring 기초1  (0) 2022.01.04
JavaScript - 정규 표현식 기초  (0) 2021.11.09
JavaScript - 함수  (0) 2021.11.09
이사  (0) 2021.11.04