검색결과 리스트
개발에 해당되는 글 144건
- 2013.11.21 JSP 액션
- 2013.11.21 JSP에 대해
- 2013.11.19 서블릿 프로그래밍
- 2013.11.19 스타일 시트
- 2013.11.19 자바 스크립트
- 2013.11.19 유용한 HTML태그들
- 2013.11.19 JSP 디렉티브1
- 2013.11.18 서블릿 설명 홈피
- 2013.11.15 JSP 스크립트 1
- 2013.11.15 JSP 작동방식 1
글
JSP 액션
1. JSP 액션
-자바 코드에 의해 객체를 생성하고 사용하는 것이 아니라 태그를 이용하여 객체의 생성하고 사용하는 것
->JSP 태그 or JSP 액션
-scope : 객체가 사용될 수 있는 범위(Life cycle)
(1)page : pageContext에 저장
(2)request : HttpServletRequest에 저장
(3)session : HttpSession에 저장
(4)application : ServletContext에 저장
2. useBean
-자바 객체를 생서하건 혹은 기존에 이미 만들어진 객체를 리턴
-사용법
(1)id : 인스턴스를 식별하기 위한 이름
(2)scope : 인스턴스의 사용범위, 여기에는 session, page,request, application이 들어간다
(3)class : 패키지 이름까지 모두 기술한 클래스의 이름입니다.
3. setPropert
-빈의 속성값을 할당. name속성에 기술된 이름에 해당되는 자바빈즈 클래스는 jsp:useBean을 이용해서 이 액션이 나타나기 전에 미리 정의되어야 한다.
ex)
prop_expr :: = property="*"|
property="propertname"(필드명이죠)
property="propertyName param="parameterName"(input tag의 이름)
property="propertyName" value="propertyvalue"(할당값)
propertyValue ::= String
name :
property : 값을 변경하고자 하는 빈의 속성이름
param : http 요청의 파라메터 이름
valus : 할당할 값
- 이것의 반대의 개념인 getProperty도 존재
이것은 자동으로 자바플러그인을 위한 html태그를 생성하게 한다
ex)쉽게 설명하면 어떤 페이지 들어가면 인증서 물어보죠? 예 누르면 깔리는거
5. forward
현재 클라이언트의 요청을 실행시에 다른 정적인 자원이나 jsp ,서블릿과 같은 동적인 페이지도 이동 시키는 기능.
간단하게 적자면 이정도구요 ^^ forward를 시키면 값이 날라갑니다
즉 forward를 쓰면 새로고침을 누르면 다시 한번 실행된다는 겁니다 단순히 페이지 이동이
아닌 재실행이 되버립니다 그냥 단순히 페이지 이동만을 시키고 싶다면
reponse.sendRedirect("url");명령어를 사용하시면 됩니다.
6. include
동일한 컨텍스트에 있는 정적 혹은 동적인 페이지를 현재 페이지에 삽입하는것 입니다.
page : 인쿨루드할 페이지의 상대 url을 기술한다
flush : "true"값을 기술하면 버퍼 내용이 즉시 플러쉬 된다. 디폴트는 false
설정
트랙백
댓글
글
JSP에 대해
1. JSP 소개
- MS의 ASP에 대응하기 위해 개발 (쉽고 빠르게 원하는 웹 응용프로그램을 작성)
-장점
(1)서블릿보다 쉽고, 빠르게 작성 가능
(2) 화면 구성을 위한 HTML과 프로그램 로직을 분리 가능
(3) 웹 컨테이너에 의한 효율적인 코드 생성
(4) HTML 페이지 디자인 도구 이용 가능
2. JSP에 자바 코드 삽입
- JSP = HTML+자바코드
- 스크립트렛(Scriptlet) :자바 코드가 들어가있는 문법
(1) <% ~ %> : 자바 코드
(2) _jspService()메서드로 변환
3. 특수 문자와 주석
-<% %>문자 출력
-주석 <!-- --> : HTML주석(소스에 나타남)
<%-- --> : JSP주석 (소스보기에도 나타나지 않는다)
4. JSP페이지 구성
-HTML tag->템플릿 데이터
-원소(Element)
(1)지시어 원소 (page,include, taglib) : <%@ %>
page : 페이지에 대한 정보, 세션 사용여부 등
(2)스크립팅 원소 (선언, 표현, 스크립트렛, EL) : <%! 선언 %>, <%= 표현(화면출력) %>
<% 스크립트렛 %>
※선언(Declaration)
JSP 페이지에서 사용되는 멤버 변수나 메소드를 선언
<%! ~ %>
out, request, response등의 내장 객체 사용 불가
jspInit(), jspDestroy() 메서드 선언 가능
※스크립트렛(Scriptlet)
자바 문장 사용 (제어문, 반복문, 변수 선언…)
<% ~ %>
※식(Expression)
간단한 계산, 변수, 함수 호출
<% out.println(); %> 과 동일
<%=~%>
(3)액션 원소
5. JSP 처리 과정과 라이프 사이클
6. JSP 디폴트 객체
-스크립트렛이나 표현식에서 선언하지 않고 사용할 수있는 디폴트 변수(객체)
-JSP 페이지에 관련된 객체 (page->this와 같은 객체, config->여러가지 서비스를 얻고자 할때)
-페이지 입출력에 관련된 객체 (request, response, out->글자를 전송하기 위해)
-컨텍스트에 관련된 객체(session, application, pageContext)
-에러에 관련된 객체 (exception)
-page (JSP 페이지 자신을 표현하기 위한 객체 (this) )
-config (서블릿의 구성 정보에 접근)
-request (클라이언트의 요청을 표현하기 위한 객체)
-response (웹 브아우저에 응답 데이터를 전송하기 위한 객체)
-out (JSP 페이지의 출력 스트림을 위한 객체 )
-session (현재 사용자의 세션을 편하기 위한 객체 )
-application (웹 응용프로그램을 표현하기 위한 객체 )
-pageContext (다른 디폴트 객체들을 프로그램적으로 접근하기 위한 객체 )
-exception (에러 처리를 위한 객체,에러 페이지에서만 사용 가능(isErrorPage = true) )
7. page 지시어 <%@ %>
-JSP 페이지와 관련된 속성 정의
-import 속성 외에는 한번 이상 기술 할 수 없다
8. include 지시어
-외부 데이터 (HTML, JSP) 를 JSP 페이지에 포함 (include지시어, jsp:include 액션 태그)
-형태 ( <%@ include file="relativeURLspec"%>
9. JSP를 이용한 폼 데이터 처리
String getParameter(“name”) :
String[] getParameterValues(“name”) :하나의 이름으로써 여러개의 값을 오고자 할때
Enumeration getParameterNames()
ex) 체크 박스 : checkbox.html, checkbox.jsp
ex) 라디어 버튼 : radio.html, radio.jsp
ex) 선택 : select.html, select.jsp
설정
트랙백
댓글
글
서블릿 프로그래밍
1. HTTP GET 메소드
-서버의 URI에 의해 참조되는 정보를 요청
(웹 브라우저에서 사이트 방문하는 경우)
-웹 서버에 데이터를 요청
-데이터를 웹 서버에 전송(데이터 길이 제한, 전송 여부 확인 불가)
2. HTTP HEAD 메소드
-해당 페이지가 존재하는지 여부와 페이지에 대한 정보 얻기 위해 사용
-웹페이지에 대한 정보만 웹브라우저에 전달 (값은 처리하지 않는다)
3. HTTP POST 메소드
-클라이언트의 데이터를 웹 서버에 전달(게시판에 글, 로그인 할때)
-파일 전송
-길이에 제한 없으며, 전달 여부 확인 가능
-전달 할때는 entity body 부분에 포함시켜 전달
4. 사용자 데이터 처리
-HTTP의 GET과 POST방식으로 전달 -> 서블릿의 doGet(), doPost() 구현
(get : 서버가 가지고 있는 웹페이지를 달라
post: 클라이언트가 서버에게 데이터 전달하고 데이터를 처리해달라)
-전달된 데이터는 HttpServletRequtst의
getParameter(), getParameterValues(), getParameterNames()
(getParameter():클라이언트가 어떤 데이터를 보냈는지 알아냈는지 알아냈을때 사용)
5. 서블릿 라이프 사이클
(1) init : 서블릿이 메모리에 load,초기화 작업
- 서블릿이 만들어지고 최초에 한번 호출될때 메모리에 한번 만들어진다
(2)service : 클라이언트의 요청을 thread로 실행
(그 다음에 호출할때 init을 거치지않고 만들어진다, doGet()과 doPost()와 역할이 똑같다 )
(3)destory : 서블릿이 메모리에서 제거 (한번 호출)
서블릿 에서 System.exit(0)사용하지 말것-> 컨테이너가 종료된다
6. HttpServlet
•HTTP 서비스를 위한 기능을 제공
•destroy(), getInitParameter(String), getInitiParameterNames(), getServletContext(), init(), init(ServletConfig), log(String), getLastModified(HttpServletRequest), service(HttpServletRequest, HttpServletResponse), service(ServletRequest, ServletResponse)
•doGet(), doPost(), doDelete(), doOptions(), doHeader(), doPut(), doTrace()
7. HttpServletRequest
-웹 클라이언트로부터 전달되는 요청을 처리
-getCookies()
-getMethod() -> 현재 요청이 어떤 것인가 알기 위해서
-getSession() -> 사용자에 대한 정보를 얻기 위해서
-(set)getArribute(String)
-getRequestDispatcher(String) -> 다른쪽 페이지로 포워드 시키거나 인클루드 시킬 수 있다(Srting 포함하거나 이동시키고자 파일의 주소를 적으면 된다.
8. HttpServletResponse
-웹 컨테이너의 응답을 표현
-addCookie(Cookie) ->쿠키를 저장
-sendRedirect(String) -> 페이지를 이동 (<a> 태그를 이용)
-setHeader(String,String) -> 헤더값 지정
-getOutputStream() ->바이너리 데이터를 출력
-getWriter() -> 단순한 출력 스트림을 얻고자 할때
-setContentType(String) -> 클라이언트가 어떠한 양식으로 서버측에서 메시지를 받아야 할것인가
9. ServletContext
-웹 응용 프로그램(Web Application)
(1)웹에서 실행되는 프로그램들의 모음
(2)서블릿,유틸리티 클래스, JSP, HTML, 이미지, 자바스크립트, 스타일시트
-Context
(1)여러개의 서블릿과 JSP들이 서로 협력하면서 실행되는 환경
(2)서블릿과 JSP들 간에 서로 정보 저장, 검색
(3)웹 응용프로그램은 오직 하나의 실행 환경을 갖는다
(4)ServletConfig의 getServletContext()메소드를 이용
10. RequestDispatcher
-클라이언트의 요청을 다른 자원으로 전달
-ServletContext의 getRequestDispatcher() 사용
-forward(ServletRequest, ServletResponse) : 클라이언트 요청을 다른 자원으로 전달
-include(ServletRequest, ServletResponse) : 다른 자원의 내용을 HttpServletResponse에 포함
11. getInitParameter()
-web.xml 파일에 저장된 정보를 서블릿의 초기화 파라미터로 읽어온다
설정
트랙백
댓글
글
스타일 시트
1. 스타일 시트 선언
CSS(Cascading Style Sheets)
-HTML이 웹 브라우저에서 어떤 형태로 보여야 할지를 결정하는 규칙들
-동일한 HTML페이지라 하더라도, 스타일 시트의 내용에 따라 다른 내용의 모습으로 보인다
<style type="text/css">
<!--
H1{color:blue} //선언부. H1(태그)은 선택자
-->
</style>
ex1) 여러 개의 선택자 사용
<style type=“text/css”>
H1, H2, H3, H4, H5, H6 { color : blue }
</style>
ex2) 여러 개의 속성 사용
<style type=“text/css”>
H1 { color : blue; font-size : 24pt }
</style>
ex3) 내포된 태그에 속성 사용
<style type=“text/css”>
H1 EM { text-decoration : underline } //H1안쪽의 EM의 태그는 문자를 언더라인표시
</style>
ex4) 클래스를 사용한 스타일 선언
<style type=“text/css”>
p.italic { font-style : italic }
p.bold { font-weight : bold } //글자를 진하게
.underline { text-decoration : underline }
</style>
->HTML 페이지에서 태그에 클래스 지정
<p class=“italic”>이탤릭체 문단
<p class=“bold”>볼드체 문단
<H1 class=“underline”>밑줄 친 문단</h1>
설정
트랙백
댓글
글
자바 스크립트
1. 자바 스크립트
-HTML 에 포함 되어 웹 페이지에 동적인 효과를 주거나 사용자가 입력한 데이터의 유효성 검사를 위해 사용
(유효성 검사: id가 맞는지 pw가 맞는지)
-주석 ://사용
첫번째 사용법
<script language="JavaScript">
자바스크립트 프로그램
</script>
두번째 사용법
<script language="JavaScript"src="hello.js"> (src를 이용하여 필요한 파일 불러온다)
</script>
2. 자바 스크립트 함수
-C나 자바와 같이 함수 선언하여 사용가능
3. 자바스크립트에서 HTML 객체 접근
-DOM(Document Object Model)방식을 이용해 HTML 문서의 내부 구조에 접근, 변경 가능
-웹 브라우저는 HTML문서, 그림, 폼 등의 각 객체를 대표하는 객체 인스턴스를 생성 관리
4. 사용자 입력을 처리 하는 함수
-alert() : 경고 메시지를 보여주기 위해 사용
-confirm() : 확인 버튼과 취소버튼이 있는 메시지 창을 보여주기 위해 사용
확인-> true 취소->false 값을 리턴
-prompt() : 사용자가 입력한 값을 받기 위해 창을 보여준다
확인->입력값 취소 -> null값이 리턴
설정
트랙백
댓글
글
유용한 HTML태그들
1. iframe
-HTML문서에 다른 HTML문서 삽입
-속성 (align, frameborder,height, width, marginheight, margiwidth,name, scorolling,src)
2. marquee
-IE(인터넷 익스플로어)에서 메시지 스크롤
-속성(behavior, direction, scrollamount, scrolldelay, height, width, onmouseover, onmouseout)
3. meta
-웹브라우저의 행동제어, 검색 키워드 저장
-head 태그 내에 저장
-속성
"http-equiv","name" :이름
-"content" :값
4. form
-HTML에서 사용자가 값을 입력할 수 있도록 제공
- input, select, textarea 사용할 수 있다
-속성(action, method, enctype, target, onsubmit, onreset) on이 붙은건 이벤트라 본다
* GET방식 - 문서를 요청하는 방식, 페이지를 이동하고자 할때
*POST - 데이터를 전달하는 방식
5. input (form 태그 안에 있다)
-사용자가 값을 입력
-속성( name, type, value, checked, size, maxlength
-type종류 (button, text, password, chechbox, radio, submit, reset, hidden, image, file)
6. 폼 관련 태그들( select, option)
-드롭 다운 형태의 메뉴
-아이템을 표기하기 위해 option 태그 사용
-속성(name, size, multiple, onfocus, onblur, onchange)
7.폼 관련 태그들(textarea)
-여러 줄에 걸쳐 글을 입력할 때 사용
-<textarea>와</textarea>태그 사에이 있는 글을 기본 텍스트로 화면 표시
-속성(name, rows, cols, readonly, onfocus, onblur, onselect)
설정
트랙백
댓글
글
JSP 디렉티브1
1. 디렉티브란?
-해당 JSP 페이지와 관련된 정보를 나타낼 때 쓰는 태그
-형식
<%& 디렉티브 속성1="값1" 속성2="값2"...%>
2.디렉티브 종류
-page : 해당 페이지의 전체적인 특성을 나타냄
-include : 다른 페이지를 포함하고 싶을때
-taglib : 기능확장을 위해 상용할 커스텀 태그의 경로를 지정할때
'개발 > 코딩' 카테고리의 다른 글
자바 스크립트 (0) | 2013.11.19 |
---|---|
유용한 HTML태그들 (0) | 2013.11.19 |
서블릿 설명 홈피 (0) | 2013.11.18 |
JSP 스크립트 1 (0) | 2013.11.15 |
JSP 작동방식 (1) | 2013.11.15 |
설정
트랙백
댓글
글
서블릿 설명 홈피
'개발 > 코딩' 카테고리의 다른 글
유용한 HTML태그들 (0) | 2013.11.19 |
---|---|
JSP 디렉티브1 (0) | 2013.11.19 |
JSP 스크립트 1 (0) | 2013.11.15 |
JSP 작동방식 (1) | 2013.11.15 |
JSP특징 (0) | 2013.11.15 |
설정
트랙백
댓글
글
JSP 스크립트 1
1.선언부
-형식
<%!
//변수 또는 메소드를 선언하는 문장들
%>
ex)
<%!
private int num=0;
public static int count=0;
double getDistance() 메소드
{
return distance;
}
%>
2.표현식
-형식
<%=
//변수 메소드 특정객체 수식등 (특정객체, toString등)
%>
ex)
<%!
String s="This is a test";
int i=1000;
Point2D.Double myPoint=new Point2D.Double(5.0,10.0);
<%=s%> <%=i%> <%=myPoint%>
3.스크립트릿
-형식
<%
선언부와 표현식을 제외한 모든 자바코드 (반복문, 제어문 등)
%>
ex)
<%
int i=0; 선언부 이지만 들어갈수 있다
for(i=0;i<5;i++){
%>
//여기에 반복되는 문장이 들어간다
<%
}
%>
설정
트랙백
댓글
글
JSP 작동방식
1.JSP의 작동 원리
-사용자가 서버에 JSP페이지를 요청
-해당 페이지에 대한 서블릿이 있는지 검사
-서블릿이 존재할 경우 메모리에 로드시켜 해당 페이지에 대한 응답객체 생성
요청 객체 (request) 응답객체 (response)
-서블릿이 없을 경우 해당 페이지에 대한 서블릿을 생성
-특정 폴더에 서블릿을 저장 (페이지요청을 할때마다 이미 작성된 자바 파일을 불러온다)
-이후 같은 페이지 요청시 메모리 상의 서블릿을 실행시켜 응답 객체를 생성
2. 간단한 예제
-톰캣으로 서버를 시작
-Hello.jsp 페이지를 작성
<html>
<head>
<title>예제</title>
</head>
<body>
<h3>안녕하세요</h3>
</body>
</html>
-웹사이트의 모든 파일이 시작되는 폴더인 ROOT폴더에 저장(폼캣 폴더에 있다 )
-브라우저를 열어 http://localhost:8080/폴더명/파일명.jsp 포트로 접속(톰캣이 제공하는 기본포트)
-파일명을 쳐주고, 실행된 화면을 확인후 서블릿이 저장되는 WORK폴더에 가서 서블릿을 확인