Web 6

폼 데이터 입력 후 한글 깨짐 현상

위의 폼 영역에 데이터를 입력하고 서버로 전송 시킨 후 DB를 확인해보니 아래 사진처럼 한글이 깨져서 저장이되었다. 인코딩 문제라 생각하고 구글링을 해보았다. 웹 환경에서는 보통 브라우저(Client) - 서버 - DB서버 이렇게 3계층에 거쳐 데이터를 주고받게 되는데 이때 세 요소의 인코딩이 서로 맞아야한다. 즉 입력, 출력 스트림의 데이터 형식을 동일하게 맞춰주어야 한다. 해결방법 1. 이클립스 인코딩 설정이 UTF-8 인지 확인한다. 2. html 파일의 meta 태크의 charset을 설정한다. (브라우저에게 해당 html페이지가 UTF-8을 사용한다는 것을 알려준다.) 3. JSP page 디렉티브의 contentType속성과 pageEncoding속성의 캐릭터셋을 지정해준다. 4. 서블릿 4...

Web 2021.12.15

폼 데이터 입력 후 한글 깨짐 현상

폼 영역에 데이터를 서버로 전송 시킨 후 DB를 확인해보니 아래 사진처럼 한글이 깨져서 저장이되었다. 인코딩 문제라 생각하고 구글링을 해보았다. 웹 환경에서는 보통 브라우저(Client) - 서버 - DB서버 이렇게 3계층에 거쳐 데이터를 주고받게 되는데 이때 세 요소의 인코딩이 서로 맞아야한다. 즉 3계층의 입력, 출력 스트림의 데이터 형식을 동일하게 맞춰주어야 한다. 해결방법 1. 이클립스 인코딩 설정이 UTF-8 인지 확인한다. 2. html 파일의 meta 태크의 charset을 설정한다. (브라우저에게 해당 html페이지가 UTF-8을 사용한다는 것을 알려준다.) 3. JSP page 디렉티브의 contentType속성과 pageEncoding속성의 캐릭터셋을 지정해준다. 4. 서블릿 4.1 요..

Web 2021.12.09

redirect와 forward

리다이렉트 (redircet) 서버가 클라이언트에게 어떤 url로 이동하라는 요청을 보내는 것 HTTP 리다이렉트는 HTTP 프로토콜로 정해진 규칙이다. 서버는 클라이언트에게 HTTP 상태코드 3xx (3으로 시작되는)로 응답하는데 이때 헤더 내 Location 값에 이동할 URL을 추가한다. 클라이언트는 리다이렉션 응답을 받게되면 헤더에 포함된 URL로 재요청을 보내게된다. 이때 브라우저의 주소창은 새URL로 바뀐다. 리다이렉트를 하면 기존에 생성된 request, response객체는 유지되지 않고 새로운 객체가 만들어진다. 즉 기존에 사용하던 값을 사용할 수 없게된다. 사용법 redirect01.jsp HttpServletResponse 클래스의 sendRedirect() 메소드를 사용한다. 실행결..

Web 2021.11.15

JSP 문법

선언문(Declaration) 스크립트릿(Scriptlet) 표현식(Expression) 주석(Comment) 선언문 JSP 페이지 내에서 필요한 전역변수나 메소드가 필요할 때 선언해 사용한다. 클래스 body에 선언이 된다. exam01.jsp My name is 서블릿 소스 코드 String userName = "nana"; public String printName(){ return userName; } .... service() 메소드 내부{ out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write(" My name is "); out.print(printName())..

Web 2021.11.13

JSP 라이프싸이클

WAS는 웹브라우저로부터 JSP에 대한 요청을 받게되면 JSP코드 -> 서블릿 코드로 변환 후 컴파일하여 실행한다. JSP의 라이프싸이클은 JSP 코드를 서블릿으로 변환하는 첫 단계를 시작으로 이후 단계는 서블릿의 라이프 싸이클과 같다. JSP 실행순서 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다. 만약 브라우저가 요청한 JSP가 최초로 요청된 경우라면 웹 컨테이너(톰캣 등)는 jsp 코드를 서블릿 코드로 (.java) 변환한다. 서블릿 코드를 컴파일하여 클래스파일을 만든다.(.class) 서블릿 클래스를 로딩하고 인스턴스를 생성한다. jspInit() 메소드를 호출하여 초기화한다. 서블릿이 실행되어 요청을 처리하고 응답정보를 생성한다. 웹컨테이너는 jsp코드를 서블릿코드(.java)로 변환한..

Web 2021.11.13

Servlet

서블릿(Servlet)이란? 서블릿 작성 방법 서블릿 라이프 사이클 1.서블릿(Servlet)이란? 자바 웹 어플리케이션의 구성요소(html, css, 이미지, 자바로 작성된 클래스, 설정 파일 등) 중 동적인 처리를 하는 프로그램의 역할 HttpServlet 클래스를 상속받는다. 2.서블릿 작성 방법 버전에 따라 작성방법이 달라진다. 1. Servlet 3.0 이상 자바 어노테이션을 사용하여 서블릿을 지정해준다. @WebServlet("/exam") public class ExamServlet extends HttpServlet { } 2. Servlet 3.0 미만 WEB-INF 하위에 web.xml 파일에 매핑 url과 서블릿을 등록한다. exam index.html index.htm index.j..

Web 2021.11.10