이제 스프링 프로젝트를 만들고 개발을 위해 버전을 통일하겠습니다.



Package Explorer에서 마우스 우클릭 


New - Spring Legacy Project 




Project name에 적당한 이름을 넣으시고~


Templates 에서 

Spring MVC Project 를 선택하고 Next~

혹시 처음 프로젝트를 생성하신다면 다운로드 할거냐구 뜨는데 OK 누르시면됩니다,



후에 설정에 있어 중요하니 위와 같은 방식으로 만들어주세요 

위에 설명에 보니 com. 회사이름 . 프로젝트이름  이런식으로 작성하라고 되어있네요 ㅎㅎ

회사가 없느니 저는 com. 이니셜 . 로또  이렇게 만들었습니다.

Finish!!


이제 스프링과 자바 버전변경을 하겠습니다.



우선 이미지 편집 죄송합니다.ㅠㅠㅠ ㅎㅎㅎㅎㅎㅎ


pom.xml 은 Maven의 설정파일을 관리하는 곳입니다. 


다음과 같이 수정해주세요


1
2
3
4
5
6
7
    <properties>
        <java-version>1.8</java-version>
        <org.springframework-version>5.0.7.RELEASE</org.springframework-version>
        <org.aspectj-version>1.6.10</org.aspectj-version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
    </properties>
 
cs


스프링의 버전은 

https://spring.io/projects/spring-framework


요기 들어가시면 버전을 확인 할 수 있습니다.  제 작성 기준에는 5.0.7 버전이 최신이니까 이걸로 해볼까요?ㅎㅎ

이후 충돌관련해서는 저도 모르겠어요 ㅋㅋ그냥 일단 최신버전 ㄱㄱㄱㄱㄱ


Ctrl + S  저장!!


저장을 누르면 수정 된 버전에 맞게 빌드를 시작합니다.


설정에 맞게 


동일하게 1.8로 설정해주고





Apply and Close 눌러 적용하면 버전변경은 우선 끝입니다. ㅎ 후에 또 변경이 있으면 변경하도록 하고


이제 Tomcat 서버를 올려서 화면이 잘 나오는지 확인하겠습니다,~~~


부족하지만 열심히 준비하겠습니다 ㅠㅠㅠㅠ





혼자 작업을 하더라도 스토리보드는 간략하게 정리하고 작업을 하는 것이 좋습니다. 

저처럼 왕초보라면 더더욱 ㅎㅎ 훗날 포트폴리오로 사용하기 위해서라도 ㅎㅎ

무엇보다 저도 아직 실력이 부족해서 ,, 


혹시 팀으로 작업하게 된다면 더더욱 스토리보드의 중요성은 말할 것도 없죠 


간략하게 스토리보드를 작성해볼까요?







이전에 작성 했던 자료입니다. 


자신이 만들고자 하는 프로그램에 화면 단위로 영역별로 기능을 정리해두었습니다.

웹 기획에 대해서는 내용이 많아 추가로 정리해서 올릴게요 ㅠㅠ 죄송죄송


우선 스토리보드를 작성하기위해서는 PPT를 활용하거나 , 목업 툴을 상용할 수 있습니다.



저는 위와같이 로그인하여 로또 번호 확인하기 버튼을 누르면 테이블과 차트를 출력하고 인쇄하기 버튼을 만들것입니다.



추가로 유용한 사이트 소개해드릴게요 ㅎㅎㅎ 


1. MOCKUPWORLD 

https://www.mockupworld.co


2. GRAPHIC BURGER

http://graphicburger.com



3. freepik

http://www.freepik.com/


4. Pixeden

http://www.pixeden.com/


5. Alien Valley

http://alienvalley.com



빨리 코드 소개하고자 ㅠㅠ 내용이 부실한건 이해해주세요 ㅠㅠ 이후 프로젝트에선 좀 더 정리해서 올릴게요 ㅠㅠㅠㅠㅠ



작업 순서


1. 프로젝트 정하기

2. 개발 환경 정하기

3. 프로젝트 스토리보드 작성

4. 스프링 개발환경 구축

5. 디자인 작업하기 Bootstrap

6. DataBase 연동 및 테스트

7. 데이터베이스 모델링

8. 데이터 테이블 출력 

9. 데이터 테이블 차트로 출력

10 테이터 PDF로 출력하기

마무리



프로젝트를 진행하기 앞서 유용한 사이트를 알려드릴까해요 ㅎㅎ

https://trello.com/ 





카드 방식의 플래너 입니다. 저는 위에 작업 순서에따라 나눴습니다. 디테일한 작업을 추가하고 완료되면 완료처리하면서 작업하면 본인의 프로젝트 위치를 정확하게 파악할 수 있습니다. 

프로그램이 아니여도 카드 방식의 플랜이 엄청 좋다고 어디 책에서 봤는데 저도 처음 써보는거라 ㅎㅎ 

이번 프로젝트를 처음으로 저도 처음 써볼까 합니다 ㅎㅎ



1. 프로젝트 정하기


로또 사이트에서 CSV파일 다운로드하여 데이터베이스 저장 후 ,

테이블 형식으로 출력한다. 출력한 내용을 차트로 다양하게 출력해보고

인쇄가 가능하게 pdf로 내보내기 버튼을 만든다.


(아주 간략하게나마 자신이 만들고자 하는 내용을 정리하세요  꼭 중간에 틀어지더라구요 ㅎㅎㅎ)


목표는 간단합니다. 


1. 엑셀 데이터 대량으로 입력하기 

2. 입력한 데이터 웹에 출력하기

3. 차트로 출력하기

4. 인쇄하기



2. 개발환경 정하기


프레임워크

Spring Framework + mybatis


DBMS

mariaDB


디자인

Bootstrap


스크립트

DataTables , ChartJS



* 추가로 Spring Boot , 하이버네이트 , PostgreSQL , Angular 로 준비중입니다. ㅎㅎ~











다음편엔 간략하게 스토리 보드를 작성하겠습니다.











변수란 ?


변수를 간단히 정의하면 '하나의 데이터를 저장할 수 있는 메모리 공간'이라고 할 수 있다. 


대체 이게 무슨말이야???


아래 코드의 예제를 보면서 설명을 드리겠습니다.

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package basic;
 

 
/**
 * 
 * @author 왕초보코딩탈줄
 *
 */
public class Comment {

    
 
    public static void main(String[] args) {
        
    int number = 1004;
    
    System.out.println(number);
        
        
    }
 
}
 
cs



변수를 선언할 때에는


타입  변수이름  =  값;

 int number = 1004;


앞에 int는  숫자라는 크기의  그릇을 만들거야

그 그릇의 이름은 number 야 

number 라는 그릇에 1004를 넣을거야 

라는게 프로그램에서의 변수이다


숫자라는 그릇을 만들고 문자를 넣는다면 ?? 물론 에러가 난다. 


내가 int 라고 쓴다면  컴퓨터는 아 숫자를 넣을라고 하네 하고 메모리를 숫자가 들어갈 수 있게 그릇을 준비한다


변수의 개념을 분명하게 이해하고 있어야 후에 헷갈리지 않으니 단순하게 x=1 이다 쉽게 넘어가지 않으셨으면 해요.










'방송통신대 컴퓨터과학과 > JAVA프로그래밍' 카테고리의 다른 글

2. JAVA 주석  (0) 2018.05.12
1. Java와 객체지향프로그래밍  (0) 2018.05.12

주석이란 프로그램 코드와 실행에 영향을 주지 않는 문장이다.


주석에는 

1.  행단위 주석

2.  블럭 단위 주석

3.  문서화 코드 주석



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
32
33
34
35
36
package basic;
 
//문서화 코드 주석 1
 
/**
 * 
 * @author 왕초보코딩탈줄
 *
 */
public class Comment {
// 문서화 코드 주석 2
    
    
    /**
     * 
     * @param args
     */
    public static void main(String[] args) {
        
        System.out.println("주석 처리를 하지 않았습니다.");
        
        //System.out.println("한줄 주석");
        
    /*    
        System.out.println("여러줄 주석");
        System.out.println("여러줄 주석");
        System.out.println("여러줄 주석");
        System.out.println("여러줄 주석");
    */
        
        
    }
 
}
 
cs



실행 결과는

 

1
2
주석 처리를 하지 않았습니다.
 
cs

// 주석을 하였을 경우 그 줄 모두가 프로그램에 영향을 주지 않는 문장이 됩니다. 물론 

//

//

// 이렇게 여러줄을 처리하여도 되지만 하나하나 100줄을 주석해야한다면 물론 힘들겠죠 그래서 하는것이

블럭 단위의 주석입니다.


/*    주석처리 할 내용        */  


마지막으로는 문서화코드 주석입니다.


클래스 상단에 /** 하고 엔터를 누르면 자동으로 아래와 같이 작성이 됩니다. 

보통 개발자 이름을 넣거나 하는데 사용합니다.


/**
 * 
 * @author 왕초보코딩탈줄
 *
 */



동일한 방법으로 메소드 위에 처리한다면

    /**
     * 
     * @param args
     */


파라메터가 무엇인지 정리할 수 있습니다.



'방송통신대 컴퓨터과학과 > JAVA프로그래밍' 카테고리의 다른 글

3. 변수  (0) 2018.05.12
1. Java와 객체지향프로그래밍  (0) 2018.05.12

자료는 방송통신대 컴퓨터과학과 교재 또는 온라인 강의를 통해 제작하였습니다. 


자바 학습을 위한 유용한 사이트 


Java API 문서



자바에서 기본적으로 제공하는 라이브러리에 대한 설명이 있다 이것만 다 안다면 ㄷㄷㄷ


온라인 학습 사이트



저 또한 다 처음 알게 된 사이트이긴 하나 딱 봐도 프로그램의 꽃인 helloworld부터 ~ 연습해 볼수 있는 사이트 같아요  Run을 누르면 우측 Output에 컴파일된 내용이 출력 됩니다. code를 보고 음 hello, world라고 출력 되겠군 !! 

또는 수정도 가능하니 수정해서 출력해보시면 될듯 하네요 ㅎㅎ




java에 대해서 잘 설명이 되어있고 , 간단한 예제 코드도 같이 있어 한번쯤 봐도 좋을 듯 하네요 ㅎㅎ
물론 제가 앞으로 정리해나갈 내용이기도 합니다. 

토튜리얼 사이트

http://www.w3schools.in/java-tutorial/






뿐만 아니고 무료 온라인 강의 사이트들이 많으니 찾아서 함께 보시면 좋을 듯 합니다.


이번 학습 목표는 다음과 같습니다.


java 언어와 java 프로그램


java 플랫폼


첫 번째 java 프로그램


객체지향 프로그래밍




1. 자바의 기원



위에 계시는 ㄷㄷ Sun Microsystems의 제임스 고슬링에 의해 만들어졌습니다.


1995년 javad와 Hotjava를 발표하였고

 웹의 확신과 함께 주목을 받기 시작했다.


1996년 1월 JDK 1.0 발표

현재는  Java SE Development Kit 10.0.1 (2018.5.12 기준) 까지 나왔네요 ㅎ


2009년 Oracle이 Sun을 인수하였고 찬밥이 되었다는 썰도 있지만 정치적인 문제는 빼고 ㅎ



2.  자바의 특징


C/ C++ 언어와 유사하나 단순함 

-  제가 C, C++을 공부하지 않아서 잘은 모르겠으나 메모리 할당이라던지 알아서 해주니까?  


플랫폼에 독립적

-자바 플랫폼이 설치되어 있다면 어느 하드웨어이건 돌아간다는것


완전한 객체지향 언어 

<-> 하이브리드 언어 C++

추천도서 객체지향의 사실과 오해


웹 또는 네트워크 프로그래밍이 용이


엄격한 자료형의 검사


예외처리 기능 제공


멀티 스레딩 지원



3. 자바 프로그램의 실행


자바 소스파일

HelloWorld.java  

-> Compliler 

-> HelloWorld.Class(자바 바이트코드) 

->java VM 

-> hello Wrold실행


이클립스에서 클래스를 만들어 코드를 작성하면  내가만든파일.java 파일이 만들어 집니다.  (ex. 메모장  a.txt )

컴파일을 하는 순간 동일한 이름의 내가만든파일.Class 파일이 생성됩니다. 

이 클래스 파일을 자바가 읽고 출력하는 것입니다.


쉽게 설명하면 자바의 문법은 완전한 컴퓨터 언어가 아닙니다. 아시다시피 컴퓨터언어는 1,0으로되어있습니다.

컴퓨터가 읽을 수 있게 1010으로 바꿔주는 작업이라고 생각하시면 될듯합니다.



4. 애플리케이션 과 애플릿


애플리케이션은 java 플랫폼에서 바로 실행되는 코드 


애플릿은 웹등을 개발할 때 클라이언트 서버에서 동작하는코드를 말합니다. jsp를 개발 할때 보게 됩니다.




 5. 자바 플랫폼이란?


운영체제 위에 설치하여 자바를 읽음


여러분이 난 자바를 이제 배울 것이야!!! 라고 했을 때 

난 윈도우사용자니까 윈도우에 맞는 java플랫폼을 설치하셔서  hello world 를 출력하시게 됩니다.

난 리눅스이용자니까 리눅스에 맞는 java플랫폼을 설치하셔서  hello world 를 출력하시게 됩니다.


C를 배우진 않았지만 아래 그림은 아무것도 설치하지 않아도 C언어 학습을 할수 있다. 맞나요?

이해가 가시나요?




6. java VM


java 프로그램의 실행환경을 제공하고 실행에 필요한 사항을 관리 (메모리 등)

Java Virtual Machine 의 줄임말 이며 Java Byte Code를 OS에 맞게 해석 해주는 역할을 합니다



7. java API = 클래스 라이브러리


패키지(클래스 모음) 


8. JDK 설치


자바를 설치하는 방법은 인터넷에서 쉽게 찾을 수 있으니 개인적으로 설치하시기 바랍니다.

최근에는 이클립스를 설치하면 jdk설치하라고 알림이 뜨고 설치면 되더라구요 ㅎㅎ 

설치가 끝나면 환경설정을 하셔야하는데 쉽게 찾아 볼수 있으니 따로 설명은 하지 않겠습니다.



9. 클래스와 객체


추상화

구체적인 모든 사실이 아니라 전형적이고 필요한 부분만을 가지고 사물을 이해하고 표현하는 것


클래스

클래스는 객체를 만들기 위한 모형 또는 틀

공통적인 특징을 가지는 객체들을 추상화하기 위한 수단

객체의 상태는 필드로, 행위는 메소드로 구현됨

객체는 특정 클래스의 인트턴스



10. 객체지향 프로그램

클래스가 프로그램 구성의 기본단위
데이터와(필드) 알고리즘(메소드)이 클래스에 캡슐화 되어있음
객체들이 만들어지고 객체들 간의 상호작용으로 프로그램이 동작함





설명이 많이 부족했습니다. 우선 아 자바가 이런거구나 정도만 아시면 될 것 같습니다. 이후 단원에서 

위내용에대해 자세하게 단원별로 설명 드릴 수 있도록 하겠습니다. ㅠㅠ













'방송통신대 컴퓨터과학과 > JAVA프로그래밍' 카테고리의 다른 글

3. 변수  (0) 2018.05.12
2. JAVA 주석  (0) 2018.05.12

이미지 컨트롤을 활용하여 이미지 표시하기입니다.


우선 이미지 폴더를 만들어서 로컬에 있는 이미지를 복사해서 넣습니다.


솔루션 탐색기- 추가 - 새폴더 



test12.aspx


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test12.aspx.cs" Inherits="FrmText.test12" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Image ID="imgChange" runat="server" ImageUrl="~/images/5.png"
             AlternateText="대체텍스트" Width="300px" Height="300px" />
        <hr />
        <asp:TextBox ID="text1" runat="server"></asp:TextBox>
 
        <asp:Button Text="이미지 순환" ID="btnChange" OnClick="btnChange_ck" runat="server" />
    </div>
    </form>
</body>
</html>
 
cs



test12.aspx.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
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace FrmText
{
    public partial class test12 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
 
        }
        protected void btnChange_ck(object sender, EventArgs e)
        {
            if (text1.Text == "1")
            {
                imgChange.ImageUrl = "~/images/3.jpg";
            }
            else if (text1.Text == "2")
            {
                imgChange.ImageUrl = "~/images/4.png";
            }
            else
            {
                string str = @"
                        <script>
                            alert('1 또는 2를 입력하세요');
                        </script>
                        ";
                Response.Write(str);
            }
        }
    }
}
cs


실행 화면



1 입력시 


2 입력시



1 ,2가아닌 다른 입력을 했을 때 




'ASP.NET' 카테고리의 다른 글

3. .NET Framework CLR  (0) 2020.04.20
2. .NET Framework 란?  (0) 2020.04.20
6. 닷넷 기초 (현재시간 출력하기)  (0) 2018.02.25
5. 닷넷 기초 (표준 컨트롤러)  (0) 2018.02.25
3. 닷넷 기초 (IP 주소 가져오기)  (0) 2018.02.25

Label 컨트롤을 활용하여 현재 시간을 출력해봅니다.~


레이블이란 : 웹 폼에 편집이 불가능한 문자열을 출력하고자 할때 사용한다고 하네요 ㅎㅎ


test8.aspx


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test8.aspx.cs" Inherits="FrmText.test8" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        현재시간:
        <asp:Label ID="lalDateTime" runat="server" ></asp:Label>
    </div>
    </form>
</body>
</html>
 
cs



test8.aspx.cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace FrmText
{
    public partial class test8 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //현재 날짜와 시간을 출력
            this.lalDateTime.Text = DateTime.Now.ToString();
        }
    }
}
cs


화면



ASP.NET 으로 웹페이지 제작할 때 페이지 화면에 만들어지는 모든 UI를 ASP.NET 서버 컨트롤이라 하고 

일반적으로 많이 쓰이는 컨트롤러 그룹을 묶어 표준 컨트롤이라고 한다.


표준 컨트롤러에 대하여 알아보자 


우선 화면에 출력하는 방법 3가지를 알아보자

물론 화면에는 동일하게 출력 될 것입니다.~


test9.aspx


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
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test9.aspx.cs" Inherits="FrmText.test9" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h1>표준 컨트롤러</h1>
        
        <h2>방법 [1] 순수 HTML 사용해서 버튼 만들기</h2>
        <input type="button" name="name" value="버튼1" />
 
        <h2>방법 [2] runat 속성을 추가해서 서버 컨트롤 버튼 만들기</h2>
        <input type="button" id="btnHtml" runat="server" value="버튼2" />
 
        <h2>방법 [3] ASP.NET 표준 컨트롤러를 사용해서 버튼 만들기</h2>
        <asp:Button Text="버튼3" runat="server" ID="btnServer"/>
 
    </div>
    </form>
</body>
</html>
 
cs



test9.aspx.cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace FrmText
{
    public partial class test9 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            btnHtml.Value = "Html ServerControll Button";
            btnServer.Text = "표준 컨트롤 버튼";
        }
    }
}
cs


출력화면





직접 확인해 볼까요 ??



코드를 보겠습니다.



TEST5.aspx


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test5.aspx.cs" Inherits="FrmText.test5" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        현재 프로젝트의 물리적인 경로 가져오기 <br / />
        <asp:Label ID="Lable1" runat="server" /><br />
        현재 파일 경로 가져오기 <br />
        <asp:Label ID="Lable2" runat="server" />
    </div>
    </form>
</body>
</html>
 
cs



test5.aspx.cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace FrmText
{
    public partial class test5 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // 물리적 경로 가져오기
            this.Lable1.Text = Server.MapPath(".");
            // 현재 파일 루트 경로
            this.Lable2.Text = Request.ServerVariables["SCRIPT_NAME"];
        }
    }
}
cs


+ Recent posts