01 - Servlet 기본 정리

1 minute read

🎲 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” 출력

값 받아오기

  1. html 코드에는 submit을 사용할 시 페이지를 연결해 주기 위해 from 태그의 action이 필요하다
  2. html코드의 action 주소와 java코드의 WebServlet의 주소가 같아야 한다.
  3. 값 보내기 : input의 name , 값 받아오기 : request.getParameter의 name이 같아야 한다
  4. request.getParameter는 String으로 값을 받아온다

html 코드 (hello.html)

  1. 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(“/“)은 모든 파일에 설정한다는 의미

📑 출처

Categories:

Updated:

Leave a comment