01 - Servlet 기본 정리
🎲 2022-04-09
💡 유튜브 “뉴렉처” 기반으로 작성.
❗ 개인이 공부한 내용을 적은 것 이기에 오류가 많을 수도 있음
2022-04-08
1️⃣ Servlet 기초
- WEB-INFO 는 주소창에서 입력 요청 할 수 없다.
- 서블릿은 HttpServelt을 extends한다
- servlet은 service 메서드를 사용한다
❗ 간단 설정
WebServlet(”/hello”) → 어노테이션 → /hello로 하면 사이트 이동 → web.xml 파일에 metadata-complete=”false”를 해줘야한다 true인걸
2️⃣ 출력
기본 출력
- response는 화면에 보여질 때 사용
- PrintWriter out = response.getWriter(); 를 이용해 화면에 출력
- i가 100이 되기 전까지 “hello servlet” 출력
값 받아오기
- html 코드에는 submit을 사용할 시 페이지를 연결해 주기 위해 from 태그의 action이 필요하다
- html코드의 action 주소와 java코드의 WebServlet의 주소가 같아야 한다.
- 값 보내기 : input의 name , 값 받아오기 : request.getParameter의 name이 같아야 한다
- request.getParameter는 String으로 값을 받아온다
html 코드 (hello.html)
- submit을 누르면 hi로 연결되고 hi가 name의 cnt를 자동적으로 홈페이지 주소에 전달
주소창에 입력
- 주소창에 3을 입력하면 반복문을 통해 “hello servlet!” 3번을 출력한다
주소창에 입력을 안한다면?
- 주소창에 입력을 하지 않으면 default값인 100번이 출력 입력을 하면 입력한 값에 따라 출력
3️⃣ 한글이 안 깨지게 설정
reg.html
- 입력받은 title 과 content를 notice-reg 로 넘겨준다
- title과 content에 한글을 입력하면 깨진다
notice-reg.java
- reg.html로 받은 파일을 웹에 보여주기
- title과 content에 한글을 입력하면 깨진다 → request.setCharacterEncoding(“UTF-8”); 필요
- ❗ 매번 request.setCharacterEncoding(“UTF-8”); 를 쓰기는 불편하니까 아예 설정을 해둔다 → filter 사용
방법1
- web.xml 코드 입력
- filter클래스 생성
web.xml 에 아래 코드 기입
CharacterEncodingFilter 클래스
방법2
- web.xml에 filter코드를 주입하지 않고 하는 방법은 filter로 설정한 클래스(여기선 CharacterEncodingFilter)에 @WebServlet(“/”) 을 붙여준다 → 여기서 @WebServlet(“/“)은 모든 파일에 설정한다는 의미
Leave a comment