목록프로그래밍 (90)
처음부터 차근차근
EL Expression Lanuage의 약자로, 저장 객체에서 값을 추출할 때 간편하게 추출할 수 있도록 하는 언어이다. requsest 저장 객체에 'fruit'라는 이름으로 apple값을 가진 데이터가 저장되었다고 가정하면 원래는 이렇게 썼어야 했는데 EL을 사용하면 ${fruit} 라고 간단하게 쓰면 된다. 리스트 예시 // list 생성과 request 저장 객체에 데이터 저장 List list = new ArrayList(); list.add("a"); list.add("b"); request.setAttribute("my_list", list); // 데이터 추출 // el방식으로 데이터 추출 ${my_list[0]} HashMap예시 // hashmap 생성과 request 저장 객체에 데..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oK4kz/btrqnkMfru8/iz8bkkYtzkq9fsi0dWJE71/img.png)
jsp jsp란 html 코드를 servlet class 파일로 변환해주는 스크립트 언어이다. html 코드 안에 java 코드를 삽입하여 동적 웹 페이지를 만들 수 있다. jsp를 사용하는 이유 jsp를 사용하지 않고 servlet class에서 html 코드를 화면에 출력하려면 아래와 같이 반복 작업을 해야한다. 이런 반복작업을 대신해주는 소프트웨어가 바로 jasper이다. jasper은 jsp 파일을 만들면 사용자가 해당 jsp 파일을 요청할 때 알아서 html코드을 위의 이미지 처럼 servelt class로 변환해서 만들어준다. 즉, test.jsp 파일을 url로 요청하면 test_jsp.java 라는 이름으로 새로운 java 파일이 만들어 진다는 뜻이다. 심화 jsp 파일 java 파일로 변..
servlet에서 get과 post 나눠서 처리하는 3가지 방법 service() 함수 오버라이드해서 직접 if else문으로 나눠 처리 service() 함수 오버라이드 안하고 doGet(), doPost() 오버라이드해서 처리 위에꺼 둘다하기 HttpServlet의 service()함수는 기본적으로 get요청이 오면 doGet()함수를, post요청이 오면 doPost()함수를 실행한다. 그래서 doGet(), doPost()가 override되어있지 않으면 오류가 난다. 1번 @WebServlet("/hi") public class TestServlet extends HttpServlet { @Override protected void service(HttpServletRequest request,..
submit버튼 여러개 만들기 이렇게 보내면 servlet class에서 submit의 value값을 받을 수 있다. String button_ = request.getParameter("button"); 입력 데이터 배열로 받기 이렇게 같은 name으로 값을 여러개 보내면 servlet class에서 배열로 받을 수 있다. int sum = 0; String[] val_ = request.getParameterValues("val"); for (int i = 0; i < val_.length; i++) { int number = Integer.parseInt(val_[i]); // 여기서 number 변수는 for문 돌때마다 새로 정의되지 않음 sum += number; } number은 for문 돌때..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d1KDGf/btrqbEYsLLr/gWEBEC4EvluFsYjZzGAFxk/img.png)
servlet container servelt이 실행되면 서버의 메모리 공간에 올라가게 되는데 이 공간을 servlet container이라고 한다. servlet filter servlet이 실행되기 직전과 실행되고난 직후에 실행되는 class이다. 그래서 주로 모든 servlet에 공통적으로 넣어야할 내용이 있을 때 사용한다. 예시 : request.setCharacterEncoding("UTF-8"); servlet 실행되기 직전에 실행되어 이 서블릿이 실행될지 말지도 결정할 수 있기 때문에 인증이나 권한에 대한 일에도 사용된다. servlet filter 만드는 방법 src / 패키지 밑에 class 새로 만들기 servlet filter 연결하는 방법 web.xml 사용 annotation 사용..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dAy4LG/btrp669fVNy/WbZDx6sZUobugPssgjtGk1/img.png)
웹서버 -> 웹 브라우저(클라이언트)로 데이터 보낼 때 한글이 깨지는 유형 1. ??? 2. 궯뚧뺧꺓쓁 한글이 깨지는 이유 1번의 경우 : ??? 웹서버에서 클라이언트(웹 브라우저)로 데이터를 보낼 때 기본 인코딩 방식은 ISO-8859-1(주로 유럽에서 사용)이다. ISO-8859-1방식은 데이터를 1byte씩 나눠서 보낸다. 한글자당 2byte인 한글이 1byte로 나눠져서 보내지니 웹 브라우저에서 아예 무슨 문자인지 인식을 못하는 것이다. 해결 response.setCharacterEncoding("UTF-8"); 웹 서버에서 웹 브라우저로 데이터를 보낼 때의 방식을 utf-8 방식(한번에 2byte씩 보냄)으로 설정한다. 2번의 경우 : 궯뚧뺧꺓쓁 서버에서 UTF-8 인코딩 방식으로 클라이언트에 ..
tomcat 서버 실행 apache-tomcat-9.0.48(tomcat 파일)\bin\start.bat을 클릭하면 tomcat 서버가 실행된다. 웹문서 보는 방법 apache-tomcat-9.0.48(tomcat 파일)\webapps\ROOT 이 경로 안에다 파일을 넣고(예를 들어 jsp 파일) url 경로에 localhost:8080/아까넣은파일명 이라고 치면 화면에 파일이 잘 뜨게 된다. context 사이트 추가 context 사이트를 추가하는 이유는 url매핑을 원하는대로 바꾸기 위해서이다. 기본적으로 url로 치고 들어갈려면 Root 디렉토리 안에 파일이 있어야하는데 파일을 Root디렉토리 아래다 놓는게 아니라 다른데다 놓고 url을 치고 들어가려면 context 파일을 따로 지정해줘야한다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/enPBDi/btrp5zEMV0a/GDynCgtluSStEDuwrr13Mk/img.png)
Servlet이란 Servlet은 Server Application let(서버 애플리케이션 조각)의 준말이다. 서버 애플리케이션은 여러 개를 한 번에 다 사용하지 않기 때문에 한 번에 다 로드할 필요가 없고, 서버 어플리케이션을 기능별로 나눠서 요청된것만 하나씩 매핑한다. servlet이 요청되는 원리 웹 브라우저(클라이언트 애플리케이션)에서 url로 요청을 하면 웹 서버에서 url과 매핑되는 servlet을 찾아서 실행시켜준다. 실행된 servlet에서 요청에 맞는 일을 수행하고 결과를 반환한다. servlet의 기본 형태 import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer..