목록백 (43)
SOCO
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b0882U/btq8wb8Fy7P/58ASFrlhcHNSLUFtpoiJxK/img.jpg)
ctrl + N => 새로만들기 1. 자바 프로그래밍 JAVA PROJECT > CLASS > main 매서드 2. 서블릿 프로그래밍 Dynamic web project > class > HttpServlet상속 > service 매서드 만들기 Dynamic web project > Servlet > service 매서드 1) *project : dynamic web project로 설정 *java package : 패키지는 클래스의 모음! *class name : 기능과 관련된 클래스명으로 *superclass : 자동으로 상속하는 코드를 만들어줌! Next 누르기 2) *URL mapping : url 주소를 보다 쉽고 간단하게 표시하기 위해 다른 이름을 붙여주는 것 정도로 생각해도 됨 => 클래스명..
지금까지 서블릿 object를 만들었는데 이외에도 필터 object를 만들 수 있음 ------- 클라이언트 웹서버 WAS 서블릿 컨테이너 서블릿 라이언트 웹 서버 & WAS & 서버 어플리케이션(서블릿) ->서블릿이 존재하는 공간은 서블릿 컨테이너 요청이 들어오면 WAS는 서블릿을 실행시켜서 서블릿 컨테이너에 담아놓고 결과를 돌려줌 -------- 한글을 입력받는 서블릿에서는 1or2를 해야함 1. request.setCharacterEncoding("UTF-8") 2. 톰캣 설정 자체를 UTF-8로 바꾸기 (server.xml 파일에서) BUT, 1,2이외에도 필터라는 것을 사용할 수도 있음 필터는 요청과 응답을 하려면 반드시 거쳐가게 됨 (WAS -> 필터 -> 서블릿) (WAS 조건 검..
한글출력문제 : 서버에서 클라이언트로 응답할 때 한글이 깨지는 문제 https://ssooccoo.tistory.com/56 서블릿 출력 형식의 이해 : 문서형태지정&한글출력 1. ctrl + F11 2. server 뷰에서 우클릭 restart 후 웹에서 F5 서블릿은 어떻게 출력되고 클라이언트는 어떻게 이해하는가 문제점 1. 브라우저의 자의적 해석 웹은 html 마크업 언어를 통해 랜더링 되어야 ssooccoo.tistory.com 한글입력문제 : 클라이언트에서 서버로 요청할 때 한글이 깨지는 문제 멀티 바이트 문자 전송문제 UTF-8 : 멀티바이트 영문자는 1바이트면 충분 한글은 2바이트임 클라이언트가 UTF-8로 요청하더라도 서버(톰캣)는 ISO-8859-1이라는 인코딩 방식을 이용함 ISO-88..
입력할 것이 많으면 한 번에 get요청을 하지 못하고 get요청과 post요청을 나눠서 처음에는 입력폼을 받기 위한 get요청을 하고 그 결과를 post함 *get요청 : url에 쿼리스트링이 붙어진 상태로 요청됨 *post요청 : url에 쿼리스트링이 붙지 않음 -> 정보양이 많을 때, 회원가입&로그인 등 보안 1. html 파일 제목 : 내용 * form의 action -> 매핑된 서블릿 파일과 연결됨 (@WebServlet("")) * input, textarea의 name이 키워드가 됨 -> 서블릿에서 getParameter과 연결됨 (name이라는 변수를 설정하는 것이 아니라 input 태그의 name 명을 정해주는 것 ! -> 서블릿은 name으로 태그를 인식함) *html 파일 자체에서는 변..
지난 포스팅 => 출력방법 : 서블릿이라는 플랫폼 api를 이용해서 사용자에게 어떻게 출력할 것인가 ------------- 이번 시간 내용 => 입력방법(get 요청) 사용자가 어떤 값을 입력하는 것을 어떻게 처리할 것인가 사용자의 입력 -> 나에게 요청할 때 입력이 이루어짐 입력과 요청은 맞닿아있다! 그럼 사용자가 요청을 원할 때 전달하는 값을 어떻게 받을 것인가 사용자의 요청은 get요청이 기본적임 --------------- 기본적으로 웹이라고 하는 것은 브라우저를 사용하는 클라이언트가 뭔가를 요청하고 서버가 그에 대한 응답을 하게 됨 ---------------- 1. 쿼리스트링 클라이언트가 요청하는 것은 기본적으로 문서임 문서를 요청할 때 추가적인 인자를 전달할 수 있음. 키 값에 해당되는 값..
1. ctrl + F11 2. server 뷰에서 우클릭 restart 후 웹에서 F5 서블릿은 어떻게 출력되고 클라이언트는 어떻게 이해하는가 문제점 1. 브라우저의 자의적 해석 웹은 html 마크업 언어를 통해 랜더링 되어야하므로 println을 썼다고 하더라도 태그가 없으면 줄바꿈이 되면 안 됨 BUT, 크롬에 컨텐츠 형식을 알려주지 않은 경우에는 없이도 줄바꿈이 되고 태그를 넣으면 을 태그로 인식하지 않고 문자로 인식해서 출력함 컨텐츠 형식을 알려주지 않으면 브라우저가 엣지인 경우에는 html로 해석하지만 브라우저가 크롬인 경우에는 text로 해석하는 게 기본이기 때문임 => 문서를 보낼 때 어떠한 형태의 문서를 보내는지 설정해서 보내야함 : response.setContentType("text/h..
1. web.xml에서 서블릿과 url매핑 web.xml na com.newlecture.web.Nana na /hello 2. annotation을 이용한 url매핑 annotation 클래스나, 메소드에 붙여지는 주석임 주석은 일반적으로 컴파일 과정에서 사라지는데 어노테이션의 경우 컴파일 과정에서 사라지지 않을 수 있음 컴파일 과정에서 이러한 주석정보가 활용이 가능함 메소드나 클래스에 붙여진 어노테이션이라는 정보를 이용해서 실행하는데 영향을 줄수 있음 1) web.xml에서 metadata-complete = "false"로 바꿔야함 web.xml 2)annotation 설정 : @WebServlet("/hello") @WebServlet("/hello") public class Nana extend..
자바 애플리케이션의 경우 Java Project > Class > main 메서드 자바 웹 프로그래밍의 경우 Dynamic Web Projeect > Class > service 메서드 1. Dynamic Web Project : 서블릿 코드를 만들고 실행하기 위한 여러 정보를 담은 환경 서블릿을 실행해주는 것(WAS)에는 톰캣만 있는 것이 아님 target runtime의 new runtime을 클릭하면 다른 WAS를 선택할 수 있음 아무튼, 톰캣9.0을 선택하고 톰캣이 있는 파일을 경로로 선택해줌 홈디렉토리는 프로젝트 > src > main > webapp 홈디렉토리에 서블릿이 아니라 html을 만들었다면, 이제는 ctrl + F11버튼을 클릭하면됨 이 경우 이클립스 내에서 열림 (사용자가 어떤 브라..
6. 클라이언트에게 출력하는 방법을 알기 전에 자바 프로그램과 서블릿 프로그램의 차이점 서블릿 : 자바를 이용해서 웹 프로그램을 만들기 => 자바 웹 프로그래밍 웹이 담당하는 것은 UI임 UI라고 하는 것은 콘솔UI, 윈도우UI 등이 있을 수 있음 웹 프로그래밍이 됨으로써, 입력과 출력을 담당하는 부분이 웹으로 바뀌는 것임 웹은 서버에서 클라이언트로(원격에 있는 곳으로) 출력 결과를 보여줌 또는 클라이언트로 부터 입력을 받을 수 있음 서블릿은 웹을 활용한다는 점에서 기존 자바와 입력과 출력에 대한 내용이 다르므로 이 부분을 이해해야함 처음에 작성한 코드 다시 보기! import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public ..
[잠깐 복습] 서블릿을 만든다는 의미는 서버 애플리케이션을 만든다는 것 서버 애플리케이션은 기능별로 코드가 나눠져있고, 필요에 따라 코드가 선택적으로 실행될 수 있게 만들어져있음 (웹이라는 환경을 통해서 프로그램을 실행해야하기 때문) 예를 들어 사용자가 공지사항 리스트를 달라고 요청을 하면, 리스트라는 서블릿(서버 애플리케이션)만 실행하는 것임 사용자가 요청하기 전까지 서버애플리케이션(서블릿)은 로드되지 않음 수많은 조각(기능)들이 있고, 모든 기능이 다 사용되지 않음 어쩌다가 요청이 들어오면 그것만 사용됨 효율성을 높이기 위해 웹이라는 환경에서 사용되는 서버프로그램이다보니 필요에 따라 로드될 수 있도록 조각나있는 것임 조각 나 있는 서버 애플리케이션 => 서블릿! 모든 서버 애플리케이션을 다 한 번에 ..