JSP 액션

개발/코딩 2013. 11. 21. 11:48

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도 존재

 

4.plugin

이것은 자동으로 자바플러그인을 위한 html태그를 생성하게 한다

ex)쉽게 설명하면 어떤 페이지 들어가면 인증서 물어보죠? 예 누르면 깔리는거

 

5.  forward

현재 클라이언트의 요청을 실행시에 다른 정적인 자원이나 jsp ,서블릿과 같은 동적인 페이지도 이동 시키는 기능.

간단하게 적자면 이정도구요 ^^ forward를 시키면 값이 날라갑니다

즉 forward를 쓰면 새로고침을 누르면 다시 한번 실행된다는 겁니다 단순히 페이지 이동이

아닌 재실행이 되버립니다 그냥 단순히 페이지 이동만을 시키고 싶다면

reponse.sendRedirect("url");명령어를 사용하시면 됩니다.

 

6. include

동일한 컨텍스트에 있는 정적 혹은 동적인 페이지를 현재 페이지에 삽입하는것 입니다.

page : 인쿨루드할 페이지의 상대 url을 기술한다

flush : "true"값을 기술하면 버퍼 내용이 즉시 플러쉬 된다. 디폴트는 false

 

'개발 > 코딩' 카테고리의 다른 글

request, response 객체  (0) 2014.04.03
DB프로그래밍  (0) 2013.11.21
JSP에 대해  (0) 2013.11.21
서블릿 프로그래밍  (0) 2013.11.19
스타일 시트  (0) 2013.11.19

JSP에 대해

개발/코딩 2013. 11. 21. 11:33

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

 

 

 


'개발 > 코딩' 카테고리의 다른 글

DB프로그래밍  (0) 2013.11.21
JSP 액션  (0) 2013.11.21
서블릿 프로그래밍  (0) 2013.11.19
스타일 시트  (0) 2013.11.19
자바 스크립트  (0) 2013.11.19

서블릿 프로그래밍

개발/코딩 2013. 11. 19. 19:04

 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 파일에 저장된 정보를 서블릿의 초기화 파라미터로 읽어온다

 

'개발 > 코딩' 카테고리의 다른 글

JSP 액션  (0) 2013.11.21
JSP에 대해  (0) 2013.11.21
스타일 시트  (0) 2013.11.19
자바 스크립트  (0) 2013.11.19
유용한 HTML태그들  (0) 2013.11.19

스타일 시트

개발/코딩 2013. 11. 19. 18:50

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>

 

'개발 > 코딩' 카테고리의 다른 글

JSP에 대해  (0) 2013.11.21
서블릿 프로그래밍  (0) 2013.11.19
자바 스크립트  (0) 2013.11.19
유용한 HTML태그들  (0) 2013.11.19
JSP 디렉티브1  (0) 2013.11.19

자바 스크립트

개발/코딩 2013. 11. 19. 12:23

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값이 리턴

 

 

'개발 > 코딩' 카테고리의 다른 글

서블릿 프로그래밍  (0) 2013.11.19
스타일 시트  (0) 2013.11.19
유용한 HTML태그들  (0) 2013.11.19
JSP 디렉티브1  (0) 2013.11.19
서블릿 설명 홈피  (0) 2013.11.18

유용한 HTML태그들

개발/코딩 2013. 11. 19. 11:48

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)

 

 

 

 

'개발 > 코딩' 카테고리의 다른 글

스타일 시트  (0) 2013.11.19
자바 스크립트  (0) 2013.11.19
JSP 디렉티브1  (0) 2013.11.19
서블릿 설명 홈피  (0) 2013.11.18
JSP 스크립트 1  (0) 2013.11.15

JSP 디렉티브1

개발/코딩 2013. 11. 19. 09:54

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

서블릿 설명 홈피

개발/코딩 2013. 11. 18. 18:16

'개발 > 코딩' 카테고리의 다른 글

유용한 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

개발/코딩 2013. 11. 15. 12:01

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  (0) 2013.11.19
서블릿 설명 홈피  (0) 2013.11.18
JSP 작동방식  (1) 2013.11.15
JSP특징  (0) 2013.11.15
비행기 겜 완성  (0) 2013.10.21

JSP 작동방식

개발/코딩 2013. 11. 15. 11:44

1.JSP의 작동 원리

-사용자가 서버에 JSP페이지를 요청

-해당 페이지에 대한 서블릿이 있는지 검사

-서블릿이 존재할 경우 메모리에 로드시켜 해당 페이지에 대한 응답객체 생성

     요청 객체 (request) 응답객체 (response)

-서블릿이 없을 경우 해당 페이지에 대한 서블릿을 생성

-특정 폴더에 서블릿을 저장 (페이지요청을 할때마다 이미 작성된 자바 파일을 불러온다)

-이후 같은 페이지 요청시 메모리 상의 서블릿을 실행시켜 응답 객체를 생성

 

2. 간단한 예제

-톰캣으로 서버를 시작

-Hello.jsp 페이지를 작성

<html>

<head>

<title>예제</title>

</head>

<body>

<h3>안녕하세요</h3>

</body>

</html>

-웹사이트의 모든 파일이 시작되는 폴더인 ROOT폴더에 저장(폼캣 폴더에 있다 )

-브라우저를 열어 http://localhost:8080/폴더명/파일명.jsp 포트로 접속(톰캣이 제공하는 기본포트)

-파일명을 쳐주고, 실행된 화면을 확인후 서블릿이 저장되는 WORK폴더에 가서 서블릿을 확인

 

'개발 > 코딩' 카테고리의 다른 글

서블릿 설명 홈피  (0) 2013.11.18
JSP 스크립트 1  (0) 2013.11.15
JSP특징  (0) 2013.11.15
비행기 겜 완성  (0) 2013.10.21
숫자 맞추기 겜  (0) 2013.10.11