웹프로그램: backend
*** JSP: 회원관리, 일반게시판, 댓글, 자료실
Model1: jsp만으로 프로그램 개발
Model2: MVC Pattern 개발 - java 70%
Model : 데이터 처리(DB연동) - 개발자가 처리
View : 출력 화면 - 디자이너가 처리
Controller : 흐름을 제어 - 개발자가 처리
* 주석
1. JSP 주석 : <%-- --%> jsp 태그 밖에서 사용 가능
2. JSPscript 주석(=java 주석) : // /* */ jsp 태그 안에서만 사용 가능 ( <% %>, <%= %>, <%! %> 얘네 안에서)
---> 단, 표현식에 주석만 있는 경우 컴파일 에러 발생 <%= /*이것만 있으면 오류남*/ %>
+) 표현식 안에서는 다중행(/* */) 주석만 사용 <%=val //이러면 오류남%>
+) JSP 주석은 웹 브라우저에서 소스보기(F12)로 보이지 않음, 주석 내에 표현식 사용해도 처리되지 않음
(HTML 주석은 웹 브라우저에서 출력됨
+ 주석 내에 변수 표현식 사용 가능, 주석 처리되어 화면에선 보이지 않지만 소스보기에서 확인 가능)
* 내장 객체 ★★★
1. request★ : 웹 브라우저에서 JSP 페이지로 전달되는 정보(클라이언트의 요청 정보)를 저장하는 객체 (http 헤더, http 바디로 구성)
- 주요 메소드
Type | Method | difinition |
void | setCharacterEncoding (String env) | 한글 인코딩 처리 |
String | getParameter (String name) | name 에 해당하는 파라미터 값을 구함 |
String[] | getParameterValues (String name) | checkbox 같이 여러 개의 파라미터 값을 구함 |
String | getRemoteAddr () | client 의 IP 주소를 구함 |
String | getRequestURI () | 요청 URI 를 구함 |
String | getContextPath () | 컨텍스트 패스(project 명)를 구함 |
01. request.setCharacterEncoding ("uft-8");
- 폼에서 한글값이 post 방식으로 전송될 때, 인코딩 처리
- get 방식일 경우 tomcat이 알아서 utf-8로 변환해줌. ! only post 방식만! 인코딩 처리를!
- 값을 받고 인코딩하면 안 됨. 파라미터 값 받기 전, 코드 가장 처음에 인코딩 처리 먼저!
02. String name = request.getParameter("name");
- name="name"인 태그의 value를 구해옴 (대소문자 구분!)
03. String[] choice = request.getParameterValues ("site");
- 다중 선택(checkbox)으로 여러 파라미터 값을 가진 name="site"의 value를 구해 배열에 저장
04. request.getRemoteAddr ();
- client 의 IP 주소를 구함
05. request.getRequestURI ();
- 요청 URI 를 구함
※ URI(Uniform Resource Identifier) : URL+자원에 대한 고유 식별자
URL(Uniform Resource Locator) : 자원이 실제로 존재하는 위치
06. request.getContextPath () ;
- 컨텍스트 패스(=project name)를 구함
※컨텍스트 패스(Context Path) : 사용자가 해당 웹 어플리케이션을 사용하기 위해 접근하는 경로
- 여러 개의 웹 어플리케이션이 WAS에서 동작할 경우 이를 구분하기 위해 사용
- 이클립스에서 실행 시 자동으로 프로젝트 이름과 동일한 패스가 만들어짐 (이름 변경 가능)
---> 코드(파일)이 있는 경로! 라고 생각하기!
07. Enumeration num = request.getParameterNames() ;
- name 값을 구해옴 (value가 아니라 name)
- Enumeration : 열거형 객체 (java.util 패키지 import 해야 함) 여러 값을 열거해 저장함
- while(num.hasMoreElements()) : 객체에 값이 존재한다면
String name= (String) num.nextElement() : 구해올 값을 변수 name에 저장함
08. Map parameterMap = request.getParameterMap();
- String[] nameParam = (String[])parameterMap.get("name") : 괄호 안의 key value를 배열로 저장
- 입력받은 값의 형식(줄바꿈 등)을 그대로 가져와 저장하는 방법
01. <pre> </pre> : 브라우저에 입력한 내용을 그대로 옮겨주는 태그
02. String content2=request.getParameter("content").replace("\n", "<br>");
- value 값을 입력할 때 들어간 "\n"을 html의 "<br>" 형태로 치환해 출력 시 인식할 수 있도록 함
2. response★ : 웹 브라우저로 응답할 정보(클라이언트의 요청에 대한 응답 정보)를 저장하는 객체
3. pageContext : JSP 페이지에 대한 정보를 저장 -- 다른 내장 객체를 구하거나 페이지 흐름제어, 에러데이터 얻을 때 사용
4. session★ : http 세션 정보를 저장 -- 웹 브라우저 요청 시 관련 정보를 저장하고 관리 (회원관리의 사용자 인증 작업 수행 시 사용)
5. application : 웹 어플리케이션에 대한 정보를 저장 --서버의 정보, 자원에 대한 정보+ 이벤트 로그 정보, 관련된 기능 제공
6. out★ : JSP 페이지가 생성한 결과, 정보를 웹 브라우저에 출력(전송)할 때 사용하는 출력 스트림
스키립트 요소, 비스크립트 요소(HTML, 일반 text) 모두 포함
7. config : JSP 페이지에 대한 설정 정보를 저장 -- 서블릿이 초기화되는 동안 참조할 정보를 전달
8. page : JSP 페이지를 구현한 자바 클래스 인스턴스 -- this 포인터로 자기 자신을 참조할 수 있음
9. exception : 에러 페이지에서 사용(전달)되는 예외 객체
'수업 > 정리' 카테고리의 다른 글
220304 내장객체_ session, exception // 액션태그_forward (0) | 2022.03.05 |
---|---|
220303 내장객체_영역, response, out, 쿠키 (0) | 2022.03.03 |
220228 jsp 환경, Directive tag (0) | 2022.02.28 |
220225 json, map, jQuery UI (0) | 2022.02.25 |
220224 jquery 유효성 검사, Ajax (0) | 2022.02.24 |