'Web/JSP'에 해당되는 글 5건

  1. 2018.10.23 [JSP] 예외 페이지 1
  2. 2018.10.23 [JSP] forward action
  3. 2018.10.21 [JSP] EL & JSTL
  4. 2018.10.20 [JSP] MVC
  5. 2018.10.16 [JSP] 웹 프로그래밍 JSP와 Servlet
2018. 10. 23. 19:45




예외 페이지



예외적인 상황이 발생했을 경우 웹 컨테이너에서 제공되는 기본적인 예외페이지가 사용자에게는 다소 불편할 수도 있다 (ex)Tomcat 예외페이지) 이러한 기본적으로 제공되는 페이지가 아니라 개발자가 제작한 페이지를 사용자에게 보여줄 수 있다.


1.     Page 지시자를 이용한 예외 처리

A.     <%@ page errorPage=”errorPage.jsp”%>

B.      해당 페이지에서 예외 발생 시 설정한 페이지로 이동

C.      에러페이지에서는 해당 페이지가 에러 발생시 보여지는 페이지라는 것을 명시를 해줘야한다.

D.     <%@ page isErrorPage=”true”%> è defaultfalse이므로 true로 바꿔줘야한다.

E.      <%= exception.getMessage()%> è 에러메세지 출력. page지시자에서 false로 설정 되어있으면 exception객체를 참조할 수 없다.

F.      <%response.setStatus(200)%> è 우리가 만드는 페이지는 에러를 출력해주기만 하는 페이지, 즉 정상적인 페이지이다. 해당 페이지가 정상인 페이지라는 것을 설정하기 위해 사용.


ex)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!—에러 발생 페이지-->
 
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    <%@ page errorPage="errorTest.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <%
        int i = 40/0;
    %>
</body>
</html>
 
cs

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!—에러 표시 페이지-->
 
<%@ page language="java" contentType="text/html; charset=EUC-KR"
 
    pageEncoding="EUC-KR"%>
 
    <%@ page isErrorPage="true" %>
 
    <% response.setStatus(200); %>
 
<!DOCTYPE html>
 
<html>
 
<head>
 
<meta charset="EUC-KR">
 
<title>Insert title here</title>
 
</head>
 
<body>
 
           에러 발생<br>
 
           <%=exception.getMessage() %>
 
</body>
 
</html>
cs

 

 

 

2.     Web.xml 파일을 이용한 에러 페이지 지정

A.     <error-page> : 에러페이지 지정.

B.      <error-code> : 에러상태 코드 지정. 코드별로 지정.

C.      <exception-type> : 익셉션을 지정한다. 익셉션 별로 지정.

D.     <location> : 에러 페이지 위치 지정.

 


ex)

<error-page>

<error-code>404</error-code>

<location>/error404.jsp</location>

</error-page>

 

<error-page>

<error-code>404</error-code>

<location>/error500.jsp</location>

</error-page>

 

<error-page>

<exception-type>java.lang.NullPionterException</exception-type>

<location>/errorNull.jsp</location>

</error-page>




'Web > JSP' 카테고리의 다른 글

[JSP] forward action  (0) 2018.10.23
[JSP] EL & JSTL  (0) 2018.10.21
[JSP] MVC  (0) 2018.10.20
[JSP] 웹 프로그래밍 JSP와 Servlet  (0) 2018.10.16
Posted by PAYJAY
2018. 10. 23. 17:00



forward액션

Include액션과 유사. 현재 페이지의 제어권을 완전히 다른 페이지로 전달

브라우저 URL에는 최종 전달된 파일명 아닌 최초 호출한 파일명 보임

 

만약 from.jsp 파일에서 to.jsp파일로 요청을 이동시키는 경우 from.jsp에서 생성하던 결과는 모두 없어진다.

새로 이동한 to.jsp에서 생성한 결과를 브라우저에 출력시키면 url주소는 /from.jsp로 보인다.

하지만 실제 결과는 to.jsp이다.


[주 활용방법]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%
String name = request.getParameter(“name”);
String toURI = null;
 
If(name.equals(“LEE”)){
    toURI = “lee.jsp”;
}else if(name.equals(“PARK”){
    toURI = “park.jsp”;
else if(name.equals(“KIM”){
    toURI = “kim.jsp”;
}
%>
<jsp:forward page=<%= toURI %>” />
 
cs


위와 같은 형태가 전형적인 forward 태그 사용법이다. 조건에 따라서 그에 맞는 페이지로 분기시키는 것. 위의 경우는 name의 값에 따라 페이지가 forward 되고 있다.


'Web > JSP' 카테고리의 다른 글

[JSP] 예외 페이지  (1) 2018.10.23
[JSP] EL & JSTL  (0) 2018.10.21
[JSP] MVC  (0) 2018.10.20
[JSP] 웹 프로그래밍 JSP와 Servlet  (0) 2018.10.16
Posted by PAYJAY
2018. 10. 21. 16:35


EL(Expressing Language)


EL이란 표현식 또는 액션 태그를 대신해서 값을 표현하는 언어


표현식

<%= value%>


EL

${value}


사용법

${10}

${99.99}

${“ABCD“}

${true}


EL연산자

${1+2}

${1-2}

${1*2}

${1/2}

${1>2}

${1<2}

${(1>2)?1:2}

${(1>2)||(1<2)}


<jsp:getProperty name=”member” property=”name”/>

è${member.name}





JSTL(JSP Standard Tag Library)


JSP의 경우 HTML 태그와 같이 사용되어 전체적인 코드의 가독성이 떨어진다이런 단점을 보완하고자 만들어진 태그 라이브러리가 JSTL이다..


JSTLTomcat컨테이너에 포함되어 있지 않아 별도로 설치해야한다.



http://jakarta.apache.org/ 접속



Taglibs 카테고리 클릭




Our taglib -> standard 클릭



standard 1.1 다운로드 클릭



binaries 클릭




jakarta-taglibs-standard-1.1.2.zip을 클릭해 다운로드




압축파일을 푼 뒤에

lib 파일에 들어가면 위와 같이 두개의 파일이 있다. 


복사 후 apache Tomcat 설치 경로의 lib 붙여넣어준다.


붙여넣기 경로:

apache-tomcat-8.5.34\apache-tomcat-8.5.34\lib





JSTL5가지 라이브러리 제공(Core, XML Processing, I18N formatting, SQL, Function)


 

Core


Core 라이브러리는 기본적인 라이브러리로 출력, 제어문, 반복문 같은 기능이 포함되어 있다.

사용하기 위해서 Page 지시자에서 아래와 같이 적는다.

<%@ taglib uri=http://java.sun.com/jsp/jstl/core prefix=”c” %>


 

출력 태그: <c:out>

<c:out value=”출력값” default=”기본값” escapeXml=”true or false”>

 

변수 설정 태그: <c:set>

<c:set var=”변수명” value=”설정값” target=”객체” property=”” scope=”범위”>

 

변수 제거 태그: <c:remove>

<c:remove var=”변수명” scope=”범위”>

 

예외처리 태그: <c:catch>

<c:catch var=”변수명”>

 

제어문 If 태그: <c:if>

<c:if test=”조건” var=”조건처리변수명” scope=”범위”>

 

제어문 switch 태그: <c:choose>

<c:choose>

<c:when test=”조건”>처리 내용</c:when>

<c:otherwise>처리 내용</c:otherwise>

</c:choose>

 

반복문 for 태그: <c:forEach>

<c:forEach items=”객체명” begin=”시작 인덱스” end=”끝 인덱스” step=”증감식” var=”변수명” varStatus=”상태변수”>

 

페이지 이동 태그: <c:redirect>

<c:redirect url=”url”>

 

파라미터 전달 태그: <c:param>

<c:param name=”파라미터명” value=””>








'Web > JSP' 카테고리의 다른 글

[JSP] 예외 페이지  (1) 2018.10.23
[JSP] forward action  (0) 2018.10.23
[JSP] MVC  (0) 2018.10.20
[JSP] 웹 프로그래밍 JSP와 Servlet  (0) 2018.10.16
Posted by PAYJAY
2018. 10. 20. 18:55


MVC

MVC란, Model, View, Controller를 뜻함

Model은 데이터베이스와의 관계 담당. 주로 java파일 클라이언트의 요청에서 필요한 자료를 데이터베이스부터 추출하거나 수정하여 controller로 전달.

View는 사용자한테 보여지는 UI화면. 주로 jsp파일로 작성. Controller에서 어떤 view 컴포넌트를 보여줄지 결정.

Controller는 요청을 받고 적절한 model에 지시를 내리며 model에서 전달된 데이터를 적절한 view에 전달한다.




Model 1


MVC에서 ViewController가 같이 있는 형태. 단기 프로젝트에 적합. 유지보수 불편






Model2


전통적인 MVC. Mode, View, Controller가 모두 모듈화 되어 있는 형태. 장기간 프로젝트. 유지보수 효휼적.


Frontcontroller : 많은 요청을 한곳으로 집중시켜 코드 중복막고 유지보수 효율적으로 하기위해 사용

Command : 어떤한 작업을 위한 명령을 내림

DTO : databasedata를 객체로 만들기 위한 클래스 파일

DAO : 실제로 database에 접근해서 어떠한 로직을 수행하기 위한 클래스 파일

View : Frontcontroller가 클라이언트의 요청을 완료한 화면을 보여줌


'Web > JSP' 카테고리의 다른 글

[JSP] 예외 페이지  (1) 2018.10.23
[JSP] forward action  (0) 2018.10.23
[JSP] EL & JSTL  (0) 2018.10.21
[JSP] 웹 프로그래밍 JSP와 Servlet  (0) 2018.10.16
Posted by PAYJAY
2018. 10. 16. 21:21



웹 프로그래밍이란 웹 어플리케이션을 구현하는 행위이다

웹 어플리케이션이란 웹을 기반으로 작동되는 프로그램이다.

웹이란 1개 이상의 사이트가 연결 되어있는 인터넷 서비스의 한가지 형태이다


프로토콜(protocol)네트워크 상에서 약속된 통신 규약

IP : 네트워크 상에서 컴퓨터를 식별할 수 있는 주소

DNS : IP주소를 인간이 쉽게 외우도록 맵핑한 문자열

Port : IP주소가 컴퓨터를 식별할 수 있게








웹 컨테이너에서 jspservlet을 서비스 한다.

JSP : HTML파일 내에 JAVA언어를 삽입한 문서

Servlet : JAVA 언어로 이루어진 웹프로그래밍 문서

 

컴포넌트

JSP, servlet, HTML 등의 웹 어플리케이션을 구현하기 위한 구성요소

웹 프로그래밍은 컴포넌트를 하나씩 만들어 나가는 것이 웹 프로그래밍.

 

동작

웹 서버: 클라이언트의 요청에 의해 정보를 제공해 주는 서버

           별도의 구현이 필요한 로직이 있을 경우 웹 어플리케이션 서버에 요청

웹 브라우저 : 웹 서버에 정보를 요청하고 웹 서버로부터 정보를 받는 매개체(HTTP)





어떠한 페이지를 가고싶다. 주소창에 주소 타이핑. 웹 서버로 request. 웹 서버는 바로 응답이 가능하지만 어떠한 로직(글을 찾던가, 이미지를 불러오던가..)을 수행 후 응답해야할 때 웹 어플리케이션 서버에 요청 보냄. 바로 응답이 가능하지만 어떠한 데이터 값을 보내야 할 때 데이터베이스에 접근 후 데이터를 가져온 후 웹 어플리케이션에서 적절히 가공후 웹 서버에 응답해줌. 웹 서버는 최종적으로 웹 브라우저에 응답해줌.



JSP

1.     동적 웹 어플리케이션 컴포넌트

2.     .jsp확장자

3.     클라이언트의 요청에 동적으로 작동하고 응답은 html을 이용

4.     JSP Servlet으로 변환되어 실행된다.

5.   MVC 패턴에서 View로 이용된다.



웹 브라우저에서 controller(servlet) request보냄(). 그럼 controller는 요청을 받아 요청이 무엇인지 판단 후 Model에 요청을 보내 가공함(DB접근). 다시 Controller에 응답 후 ControllerView로 응답을 보냄. View에서 클라이언트 브라우저에 응답을 해줌.





JSP 코드 작성의 주 목적은 웹 브라우저에 보여줄 HTML 문서를 생성하는 것 이다. JSP를 사용해서 여러가지를 할 수 있지만 대부분 HTML을 작성하는데 쓰인다JSP코드는 크게 설정 부분과 응답 생성 부분으로 구성된다.


설정 부분 : JSP 페이지의 설정 정보

생성 부분 : HTML 코드 및 JSP 스크립트

 

설정부분에 주로 위치하는 것

1.     JSP 페이지가 생성하는 문서의 타입

A.     Ex)<%@ page contentType=”text/html; charset=utf-8”%>

                         i.         생성할 문서는 html이고 charset uft-8임을 나타냄

2.     커스텀 태그

3.     자바 클래스 지정

<%@ page … %>page 디렉티브라고 함. JSP 페이지에 대한 정보를 설정할 때 page 디렉티브를 사용.

 

JSP 페이지 구성요소

1.     디렉티브

A.     디렉티브는 JSP페이지에 대한 설정 정보를 지정할 때 사용됨.

B.      <%@ 디렉티브명 속1=”1” 속성2=”2”….%>

2.     스크립트 요소

A.     JSP 문서의 내용을 동적으로 생성하기 위해 사용되는 것.

B.      스크립트 요소를 사용하면 사용자가 폼에 입력한 정보를 DB에 저장할 수 있으면 DB로부터 게시글 목록을 읽어와 출력도 가능.

C.      JAVA에서 제공하는 다양한 기능도 사용가능

3.     기본 객체

A.     웹 어플리케이션 프로그래밍을 하는데 필요한 기능을 제공해주는 기본객체를 제공.

B.      Ex) request, response, session, application, page…

C.      각각 요청 파라미터 읽어오기, 응답 결과 전송하기, 세션처리, 웹 어플리케이션 정보 읽어오기 등

4.     표현 언어

A.     스크립트 요소는 자바 문법을 그대로 사용 가능하다. 즉 자바 언어의 특징을 그대로 사용 가능하다. 하지만 JSP코드가 다소 복잡헤진다.

B.      이를 보완하기 위해 표현 언어(Expression Language)를 사용하면 좀 더 간결하게 작성 가능하다.

 

5.     정적 데이터

6.     액션 태그

A.     Forward, include, useBean… jsp페이지에서 특별한 기능 제공.

7.     커스텀 태그, 태그 라이브러리

A.     커스텀 태그는 Jsp를 확장시켜주는 기능.

B.      커스텀 태그는 액션 태그와 다르게 개발자가 직접 개발하여 사용해야한다.

C.      커스텀 태그 중 자주 사용하는 것들을 별도로 표준화한 것이 JSTL(Jsp Standard Tag Library)이다.

D.     if문이나 for문 등과 같은 것들은 커스텀 태그를 이용해서 구현 가능하게 해준다

 

 

 

 

 

Servlet


1.    동적 웹 어플리케이션 컴포넌트

2.    .java 확장자

3.    클라이언트의 요청에 동적으로 작동하고 응답은 html을 이용

4.    Java thread 이용하여 동작

5.    MVC 패턴에 Controller로 이용

'Web > JSP' 카테고리의 다른 글

[JSP] 예외 페이지  (1) 2018.10.23
[JSP] forward action  (0) 2018.10.23
[JSP] EL & JSTL  (0) 2018.10.21
[JSP] MVC  (0) 2018.10.20
Posted by PAYJAY