SQuirreL SQL Client Home Page

squirrel-sql.sourceforge.net/
이 페이지 번역하기
SQuirreL SQL is an open-source Java SQL Client program for any JDBC compliant database.


Orange - 웨어벨리(Warevalley)

www.warevalley.com/xml/products/orange


Toad World

www.toadworld.com/



보통 mysql콘솔 같은 디비접속프로그램(클라이언트)는 잘 사용되지 않음


무료로 배포되는 여러 툴 중 각자 개발자들이 입맛에 맞는 프로그램을 사용함(ex.람쥐)


오라클 같은 경우는 오라클에서 제공하는 EM이나 유로 클라이언트인 토드나 오렌지가 주로 사용됨



Spring Framework


Spring 이란?

• 오픈 소스 프레임워크

– Rod Johnson 창시

• Expert one-on-one J2EE Design - Development, 2002, Wrox

• Expert one-on-one J2EE Development without EJB, 2004, Wrox


– 엔터프라이즈 어플리케이션 개발의 복잡성을 줄여주기 위한 목적

– EJB 사용으로 수행되었던 모든 기능을 일반 POJO(Plain Old JavaObject) 를 사용해서 가능하게 함.    

경량 컨테이너(light weight container)


• 주요 개념

– 의존성 주입(Dependency Injection)

– 관점 지향 프로그래밍(Aspect-Oriented Programming)



Spring 장점  -- 객체 관리 컨테이너

• 경량 컨테이너 – 객체의 라이프 사이클 관리, Java EE 구현을 위한 다양한 API 제공

DI (Dependency Injection) 지원 -- 의존성 관리

• AOP (Aspect Oriented Programming) 지원

• POJO (Plain Old Java Object) 지원

• 다양한 API와의 연동 지원을 통


Spring

https://spring.io/
이 페이지 번역하기
Spring helps development teams everywhere build simple, portable,. fast and ... Bootstrap yourSpring Boot application with start.spring.io. Generate now!

spring 개발환경 구축

스프링은 딱히 어떤 설치나 뭐가 있어야 되는게 아니므니다.
자바프로젝트에 스프링에 필요한 라이브러리를 import하면 되는겁니다.
add jars....관리 힘듬 ->라이브러리관리 도구를 사용하면 편리함(Maven, 엔트,  gradle...)

Maven을 이용해서 스프링 라이브러리를 프로젝트에 세팅!

configure -> convert to Maven project

C:\Users\student\.m2 <-- 메이븐라이브러리 날리기


' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day51 스프링 JDBC  (0) 2016.05.30
Day49 Spring Framework  (0) 2016.05.26
Day47 MVC, 커맨드 패턴  (0) 2016.05.24
Day46 자바스크립트  (0) 2016.05.24
Day45 데이터베이스와 JDBC  (0) 2016.05.20

MVC 패턴의 동작 원리


커맨드 패턴(Command pattern)이란 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴이다.

커맨드 패턴에는 명령(command), 수신자(receiver), 발동자(invoker), 클라이언트(client)의 네개의 용어가 항상 따른다. 커맨드 객체는 수신자 객체를 가지고 있으며, 수신자의 메서드를 호출하고, 이에 수신자는 자신에게 정의된 메서드를 수행한다. 커맨드 객체는 별도로 발동자 객체에 전달되어 명령을 발동하게 한다. 발동자 객체는 필요에 따라 명령 발동에 대한 기록을 남길 수 있다. 한 발동자 객체에 다수의 커맨드 객체가 전달될 수 있다. 클라이언트 객체는 발동자 객체와 하나 이상의 커맨드 객체를 보유한다. 클라이언트 객체는 어느 시점에서 어떤 명령을 수행할지를 결정한다. 명령을 수행하려면, 클라이언트 객체는 발동자 객체로 커맨드 객체를 전달한다.




Action(interface)            [[서블릿은.. 요청이 온 uri를 ActionFactory 객체의 getAction에 넣고 리턴 되는 객체의 execute()를 단지 실행 ]]

-execute()


BoardListAction (Action구현체)

-execute()를 구현 -> 게시물리스트를 보기 위해 어떤 로직을 처리하고 어떤 데이터를 가지고 어디로 가야 할지를 구현


BoardViewAction (Action구현체)

-execute()를 구현 -> 게시물 상세보기를 위해서 어떤 로직을 처리하고 어떤 데이터를 가지고 어디로 가야할지를 구현


ActionFactory

-getAction(String command) -> command에 적합한 Action구현 클래스 객체를 만들어주는 아이



' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day49 Spring Framework  (0) 2016.05.26
Day48 DB / Spring Framwork  (0) 2016.05.25
Day46 자바스크립트  (0) 2016.05.24
Day45 데이터베이스와 JDBC  (0) 2016.05.20
Day44 JSTL  (0) 2016.05.19

<script type="text/javascript"> 자바스크립트


alert("브라우저 알림창을 부르는 함수");

script 태그는 html문서에서 자바스크립트 코드를 작성할 수 있는 영역 js파일은 원래 자바스크립트 문서

script에 srt속성으로 외부 js파일을 지정하면 해당 페이지에서 사용

</script>



' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day48 DB / Spring Framwork  (0) 2016.05.25
Day47 MVC, 커맨드 패턴  (0) 2016.05.24
Day45 데이터베이스와 JDBC  (0) 2016.05.20
Day44 JSTL  (0) 2016.05.19
Day43 JSTL(JSP Standard Tag Library)  (0) 2016.05.18



' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day47 MVC, 커맨드 패턴  (0) 2016.05.24
Day46 자바스크립트  (0) 2016.05.24
Day44 JSTL  (0) 2016.05.19
Day43 JSTL(JSP Standard Tag Library)  (0) 2016.05.18
Day42 표현언어  (0) 2016.05.18

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>


<%

String[] movieList = { "캡틴아메리카", "배대슈", "엑스맨", "곡성" };

pageContext.setAttribute("movieList", movieList);

%>

<c:forEach var= "movie" items="${movieList}">

   ${movie}<br>

</c:forEach>


</body>

</html> 

서블릿에서 요청에 따라 서비스에 적절한 로직처리 메소드를 호출하고 그 결과에 대한 데이터를 req의 attribute에 실어서 포워드 보내면 jsp에서는 그녀석을 EL로 뽑아 출력하거나 데이서셋이라면 위 방법으로 반복돌면서 데이터 접근


' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day46 자바스크립트  (0) 2016.05.24
Day45 데이터베이스와 JDBC  (0) 2016.05.20
Day43 JSTL(JSP Standard Tag Library)  (0) 2016.05.18
Day42 표현언어  (0) 2016.05.18
Day41  (0) 2016.05.16

EL표현식 - JSP페이지 내에서 자바코드를 이용한 데이터출력을 EL태그를 이용해 간단히 표현하기 위한

( 표현식, 자바코드를 이용한 attribute값 꺼내기, 파라미터 꺼내기 등을 El로 대체)


$ { 값} 

조건연산과 산술연산도 가능


JSTL(JSP페이지 내에서 조건문 반복문을 JSTL태그를 이요해 간단히 구현) 반복 조건문에 들어갈 조건식을 작성할 때 사용


JSTL(JSP Standard Tag Library)


JSP는 스크립트릿과 자바 코드 등 여러 코드들이 섞여서 복잡한 구조로 되어 있는데,

 간결하고 이해하기 쉽게 코딩을 하기 위해 자신만의 태그를 추가할 수 있습니다.


커스텀태그 라이브러리 - 작성한 커스텀 태그를 모아서 압축한 후 이를 배포해서 사용


커스텀태그를 표준화 ----> JSTL 


*간단한 프로그램 로직의 구현(자바의 변수 선언, if문, for문 등에 해당하는 로직)


JSTL -> jsp는 자바코드와 HTML코드 등 여러 코드들이 섞여서 복잡한 구조로 되어 있음

로직은 자바코드로 껍데기는 HTML로 

복잡한 로직처리는 모델2구조로 인해 별도의 자바파일로 분리하기로 했음

껍데기에서 분리가 불가능한 로직( 조건문 반복문,포맷등)을 JSP페이지 내에서 자바코드보다 간결하게 표현하기 위해 JSTL라이브러리를 씀!

' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day45 데이터베이스와 JDBC  (0) 2016.05.20
Day44 JSTL  (0) 2016.05.19
Day42 표현언어  (0) 2016.05.18
Day41  (0) 2016.05.16
Day40 서블릿 등록  (0) 2016.05.13

<!--표현 언어(EL , Expression Language : 이렇게 값을 가져오면 편하다 -->

${"Hello"}<br>

<%="Hello" %><br> <!-- 표현식(Expression) -->

<% out.println("Hello"); %><br> <!-- 스크립트릿 -->


종류

연산자 

산술

+, -, *, / (or div), & (or mod) 

관계형

 ==(or eq), != (or ne), < (or lt), > (or gt), <= (or le), >= (or ge)

조건

a ? b : c 

논리

&& (or and), || (or or), ! (or not) 

null 검사

empty 



${  }<- 상수, 연산결과, 현재 페이지에서 접근 가능한 모든 객체 ex) attribute, parameter

 내장 객체

설명 

 param

JSP의 내장 객체인 request의 getParameter()와 동일한 역할인 파라미터 값을 알려준다. 

 paramValues

동일한 이름으로 전달되는 파라미터 값들을 배열 형태로 얻어오는 데 사용하는 request의 getParameterValues()와 동일한 역할을 한다. 


' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day44 JSTL  (0) 2016.05.19
Day43 JSTL(JSP Standard Tag Library)  (0) 2016.05.18
Day41  (0) 2016.05.16
Day40 서블릿 등록  (0) 2016.05.13
Day39 컨트롤러, 서비스, DAO  (0) 2016.05.12

loginResult.jsp

attribute에 msg에 로그인 성공여부 결과가 담겨있음   main.do로 요청할 수있는 버튼


loginForm.jsp

atrribute데이터 없고

id.pw를 입력받아서 login.do로 요청할 수 있는 페이지


main.jsp

넘어오는 파라미터 없고  회원정보 수정하기랑 회원모두보기 페이지로 이동할 수 있는 버튼



지금까지 작성한거에 대한 테스트 시나리오

main.do로 요청했을때 로그인 안되었기 때문에 loginFrom.do로 리다이렉션되서 loginForm.jsp페이지가 보이는 걸 확인

회원가입버튼을 누르면 joinForm.do로 요청이 되서 joinForm.jsp가 보이는걸 확인


정보가 입력하고 가일을 누르면 loginForm.do로 리다이렉션 되서 loginForm.jsp 가 다이보이는걸 확인+입력한 정보가 디비에 들어간걸 확인


아디 비번을 입력하고 로그인 버튼을 눌렀을때 loginResult.jsp 페이지가 보이면서 로그인 성공 여부가 나오는걸 확인


성공일 경우 메인으로 가기를 눌렀을 때 main.do요청이 발생하고 main.jsp페이지가 보이는걸 확인

' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day43 JSTL(JSP Standard Tag Library)  (0) 2016.05.18
Day42 표현언어  (0) 2016.05.18
Day40 서블릿 등록  (0) 2016.05.13
Day39 컨트롤러, 서비스, DAO  (0) 2016.05.12
Day38 쿠키 & 세션  (0) 2016.05.11

서블릿 등록 하는 방법

- 기존에 해왔던 방법 : 에노테이션으로 등록하기

- web.xml설정파일을 이용하기


servlet이란 태그를 이용해서 서블릿을 등록할 수 있고

등록하고자 하는 서블릿의 이름과 등록하고자 하는 서블릿 구현 클래스를 지정해둬야함


자바코드가 아닌 곳에는 임포트 개념이 없으니, 클래스 명을 명시할때는 풀패키지 명으로 


년월일 : String inDate   = new java.text.SimpleDateFormat("yyyyMMdd").format(new java.util.Date());

시분초 : String inTime   = new java.text.SimpleDateFormat("HHmmss").format(new java.util.Date());


학습세미나 관련 사이트

http://www.kbigdata.kr/

http://www.egovframe.go.kr/

http://open.egovframe.go.kr/

http://onoffmix.com/

' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day42 표현언어  (0) 2016.05.18
Day41  (0) 2016.05.16
Day39 컨트롤러, 서비스, DAO  (0) 2016.05.12
Day38 쿠키 & 세션  (0) 2016.05.11
Day37 액션태그  (0) 2016.05.10

컨트롤러가 해야되는 작업

-> 파라미터가 있다면 얻어내서 적절히 필요한 작업을 수행하고, 

결과 데이터를 실어서 적절한 페이지로 보내기


서비스가 해야되는 작업

-> 입력값에 땨라 적절한 로직을 수행한 후 결과를 리턴, 

데이터에 접근이 필요하다면  ↓


DAO가 해야되는 작업

-> 데이터 근원지에 접근해서 데이터를 조회하거나 수정,삭제,추가



' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day41  (0) 2016.05.16
Day40 서블릿 등록  (0) 2016.05.13
Day38 쿠키 & 세션  (0) 2016.05.11
Day37 액션태그  (0) 2016.05.10
Day36 내장 객체의 영역, 액션태그  (0) 2016.05.09

+ Recent posts