@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 |