20190618 ERP와 JSP중급-JSTL ❓

ERP란?: 전사적 자원 관리(Enterprise Resource Planning, ERP)의 약어. 회사의 재무, 공급망, 운영, 보고, 제조, 인적자원활동 등 비즈니스 프로세스를 통합 관리하는 소프트웨어. 대부분의 회사가 일정 정도의 채무나 운영 시스템을 가지고 있지만 사용하는 대부분의 소프트웨어가 일상적인 업무 프로세스 이상을 뒷받침하지 못하거나 미래의 비즈니스 성장에 도움이 되지 않는다. 회사의 변화와 확장에 따라 필요한 시스템도 뒤로 미룰 필요가 있다. [참고]­s://www.oracle.com/kr/applications/erp/what-is-erp.htmlERP가 뭐냐 | 오라클 | Oracle 대한민국 ERP는 Enterprise Resource Planning의 약칭으로 조직이 회계, 조달, 프로젝트 관리 및 제조 등 일상업무 활동을 관리하기 위해 사용하는 시스템 및 소프트웨어 패키지를 의미합니다. ERP 시스템은 함께 연동되어 있어 지나치게 많은 비즈니스 프로세스를 정의하고 이들 간의 데이터 흐름을 가능하게 합니다. 조직이 공유한 여러 소스의 트랜잭션 데이터를 수집함으로써 ERP 시스템은 데이터의 중복을 제거하고 ‘단일 데이터 소스’로 데이터의 완전성을 제공합니다. 현재 ERP 시스템은, 전업계 및 전규모의 수많은…www.oracle.com 한국의 대부분의 대기업은 ERP가 만들어져 있다. 모든 웹, 자바, 애플리케이션 등에서 동시다발적으로 개발되어야 한다.가장 유명한 ERP를 만드는 회사는 Oracle[미국]과 SAP[독일] 으로 발전했다. 금융관련으로 크기 시작한 Oracle이나 자동차의 제조공정 등에서 시작한 SAP와는 공통적인 부분도 있지만, 다른 형태의 ERP가 만들어진다.******************************JSTL(JSP Standard Tag Library):표준 태그 라이브러리는 JSP 페이지에서 일반적인 핵심 기능을 캡슐화하여 제공되는 JSP 태그:Core:자주 사용되는 기능 제공 태그 상호 제공 태그로 제공하는 등 SMP 태그를 살펴보자.​

>

반드시 JSTL을 사용하기 위해서는 taglib를 통해 JSTL을 선언해야 한다.우리는 JSTL 라이브러리 중 Core의 기능을 취급한다. #Core

>

향후 프레임워크를 만들기 위해서는 기능 자체는 JAVA에서 만들고 출력을 JSP로 한다.JSP에서 출력하기 위해서는 JSTL의 문법 등이 필요하고, scope는 java의 기능을 저장해 두는 페이지이며, set var는 변수를 지정해 주는 것이다.out 기능의 기능에서 null 일시는 default 값인 디폴트 값이 나오도록 하는 것을 확인했다.​

>

set을 하고 scope에 page로 하면, getattribute를 사용하고 얻어 올 가능성이 있지만 EL문법을 사용하고${str3}을 사용해서 출력이 가능하다.remove를 사용하여 값을 제거하는 것도 가능하다.​

>

출력 결과를 보면 str4는 삭제되고 3은 set에 var가 세팅되어 EL을 사용하면 즉석에서 출력이 됐다.​

>

을 통해 우리가 color 값을 보내는 형태로 만들어 준다.​

>

먼저 if를 사용할 수 있다는 것을 알기 위해 id를 받기를 설정한다. 만약 null이 아니라면 id를 뿌리고 id가 null이라면 Guest가 나온다.

>

다음과 같이 옮겨온 값이 없으면 Guest가 나오는 것을 확인할 수 있다.그럼 추가해 보자.그러면 swicth 역할을 하는 것이 무엇인가, JSTL에서는 Choose와 otherwise를 통해서 출력할 수 있다.​

>

다음과 같이 다양한 case를 구성해줄 수 있는 otherwise는 마지막으로 모든 경우의 수를 제외한 다른 상황일 때의 답이다.​

>

을 출력해보면 노란색과 핑크색 color의 값이 yellow와 pink를 넘으면 core의 when이 작동하여 HTML을 바꿔서 만들어 준다.EL과 JSTL이 섞여 적용되는 것을 확인할 수 있다.

>

소스를 보면, 우리가 적은 것이 나오지 않고, 심플한 HTML의 내용만 나온다.JSTL에서 우리가 for 글과 배열을 사용할 수 있을까

>

다음과 같이 c: for Each를 통해 할 수 있다.var는 첫 변수를 i로 정하고 돌릴 items로 돌리기로 설정한 후 begin의 시작점과 step는 증가량 end는 말 그대로 for를 끝내는 것이다.그리고, i를 출력을 돌려주면,

>

다음과 같이 배열이 for를 통해 하나씩 돌려서 나온다.​

>

그리고, core에는 for Tokens 기능이 있다.이 기능은 String으로 되어 있는 것을 delims라는 명령으로 구분자를 만들어 String을 끊는 역할을 한다.다음과 같이 delims를 로 설정하자

>

다음과 같이 그것을 기준으로 자른 상태에서 for를 돌리게 되어 출력해 준다.​

>

core에는 import가 있는데, 그 import의 기능은 다음과 같다.url을 걸어준 페이지로 이행하여 param으로 값을 내려서 실행한 후 출력하여 뿌리는 것이다.​

>

결과를 보면 색을 선택해 뿌린 그 값을 가져가 색과 오렌지 색이라고 뿌리는 답을 부르는 것을 확인할 수 있다.import는 바로 param값을 가져가서 실행시켰지만 url은 조금 다르다. 가지고 실제로 이동하는 것이며, import는 실행 후에 우리가 성정해 놓은 페이지에 값을 거는 것이다.url은 이동해 버리고, import는 가지고 간다고 생각하면 된다.​

>

다음과 같이 url을 설정하여 구글에 자바의 검색 value와 safe를 off로 전송하면,

>

>

다음과 같이 java의 값을 가져가서 뿌리고 있는 것을 확인할 수 있다.즉 a태그에 get방식으로 param값을 가지고 가서 가져갈 수 EL에서${url1}을 실행한 것이 http중 s://www.google.co.kr/?q=JAVA&safe=offGoogle검색 이미지의 지도 Play YouTube뉴스 Gmail드라이브 좀 더 보고》웹 기록| 설정| 로그인 고급 검색 언어 도구의 광고 프로그램 비즈니스 솔루션 Google정보 Google.com©2019개인 정보 처리 방침-약관 www.google.co.kr​에 넘어가게 된 것이다.​

>

>

다음과 같이 바로 다리 렉트에 리퀘스트 정보를 가져오지 않고 실행된다.이것들이 리다이렉트의 기능이다.JSTL에서 예외처리를 하는 경우는 별로 없지만 예외처리를 할 수 있는 기능이 있긴 하다.java와 거의 같은 catch를 사용한다.​

>

을 이용하여 강제로 예외를 발생시키면

>

length가 4가지니까 계산했다~ 하고 네 평판이 출력된다.지난번에는 JSTL의 Core에 대한 예제를 진행하고 있었다.JSTL의 fmt기능에 대한 예제를 진행하고자 한다.#fmt

>

우선은 name을 입력받는 form을 만들어주었다.​

>

>

제출하면 이렇게 바뀐다.​

>

request Encoding value로 받는 타입의 출력을 한글로 정확히 나오게 한다. 이것이 사라지면, 문자가 한글이 깨져서 나온다.​

>

다음을 통해 locale와 받는 언어의 인코딩을 설정하는 것이 fmt로 가능하다.​ 울통헤소 formatNumber를 통해서 3자리 단위에서 콤마가 들어가number와퍼 세인트를 percent을 넣어 주면 type이 뒤에%로 출력이 된다. 기타 많은 기능이 있다.​

>

>

type의 currency에서 심볼을 설정함으로써 달러로 표현되며 패턴을 이용하여 소수점의 자리수를 출력할 수 있다.그리고 prasenumber에서 변수를 지정하고 integer Only를 사용하여 true를 사용하여 정수만 출력하도록 하는 것이 가능하다.fmt를 이용해서 dat Time을 걸 수 있다.위에는 데이터로 뿌리고, 뒤에는 type가 time으로 시간을 뿌린다. time zone을 이용하여 다른 나라로 이동하여 시간을 들여주는 것이 가능하다.timezone을 fmt로 사용할 경우에는 런던의 시간과 날짜를 확인할 수 있게 되었다.set Time Zone을 하면 이후 시간의 세팅이 뉴욕으로 바뀐다.fmt에는 bundle이라는 것이 있다.://blog.naver.com/PostView.nhn?blogId=wonminst&logNo=90096500137&categoryNo=51&viewDate=&currentPage=1&listtype=0

>

태그와 태그:태그 바디에서 사용할 자원 번들을 지정한다.

>

JSTL-bundle/message-message.property::메모장에 message.properties에 저장한 파일을 src에 넣은 값 1 2 3 TITLE=MadVirus’s Learning JSP 2.1 GREETING=HI!I’m BK VISITOR=Your ID is{0}. c 을 참고하자​

>

다음과 같이 note.properties를 여기와 패키지에 넣어 주자.​

>

의 프로퍼티스를 적용해보면

>

를 적용시켜 Property 파일에 있는 message를 읽을 수 있게 된다.​

>

>

get 방식으로 msg에 값을 넣으면 출력이 달라지는 모습이다.SQL DB도 접속할 수 있는가.물론 가능하다.#SQL

>

sql에서는 javasun에서 JSTL에 대한 것을 제공하는 sql을 쓰려면 무조건 set data Source를 통해 세팅을 해야 한다.그 후 query를 통해 쿼리문을 실행하는 것이 가능하다.​

>

qurey 문을 통해 lists에 db의 값을 저장한 후 select로 호출한다.그 후 for Each 문을 통해 lists에 있는 rows를 하나씩 반복하여 자동으로 뿌려준다.​

>

sql의 소스를 어플리케이션에 넣었기 때문에, 다음부터의 jsp는 서버를 재기동하지 않는 한, 항상 켜져 있게 된다.​

>

업데이트도 가능하다. id의 value가 aa인 것의 name을 장동건으로 바꾸도록 update 쿼리문을 지정했다.

>

id가 aa라는 것의 name이 장동건(章)으로 바뀐 것을 확인할 수 있다. #fn 그리고 fn을 이용하여 Java의 기본적인 함수를 다시 실행할 수 있다.​

>

>

다음과 같이 fn을 주고 length를 사용하면 length가 정상적으로 작동하는지 확인할 수 있다.다음과 같이 다양한 fn이 동작하는 것을 알 수 있다.