프로세스

 

클라이언트가 새로은 웹 또는 앱을 구축하려하거나 웹사이트 리뉴얼을 고려하는경우로 부터 시작합니다.

 

회사 규모와 상관없이 회사 전반적인 내용을 이해하고 개발 관련 지식을 함께 갖춘 사람은 거진 없다고 봅니다.

그렇기에 프로젝트 진행과정에서 쉽게 방향을 바꾸거나 원치않는 결과가 나오는 경우가 빈번하게 발생합니다.

그렇기 때문에 개발에 들어가기에 앞서 최대한 많은 정보를 수집하고 정리하는것이 중요합니다.

 

정보를 수집하고 정리하는 과정은 아래와 같이 정리해보았습니다. ^^

 

개발자를 살...

 

웹을 개발하는 과정은 절대 단순하지 않습니다.

클라이언트 입장이라면 아마 전체 일정을 보고 뭐가 이렇게 오래 걸립니까? 하고 놀라실수도 있겠네요 

보급형?을 제외하고 말입니다.

 

개발기간이 오래걸리는 이유는 다음과 같습니다. 

다음과 같은 내용에 준수한다면 비용과 시간을 줄일 수 있습니다.

 

1.단계 초안

 

개발사에서는 클라이언트를 처음 마주했을 때, 무엇을 만들고 싶습니까? 라는 처음 질문을 할 것입니다.

클라이언트는 충분하게 고려했겠지만 막상 전달하려고하면 뒤죽박죽인경우가 있을 것입니다.

뒤죽박죽 설명은 최종 결과에 그대로 반영되게 되어있기때문에 .. 가장 중요한 단계라고 봐도 무방합니다.

그렇기 때문에 클라이언트는 명확하면서도 최대한 상세하게 정보를 제공할 의무가 있습니다.

 

클라이언트는 최소 어떤 비지니스를 할것이고 , 주 타깃은 누구이며,  최종 목표는 어디까지 입니다. 

 

신발을 판매할것이며 주 타깃은 20-30대 젊은층이며 , 모델 동영상을 활용하여 고객 유입 시 노출 하여 상품의 정보를 빠르게 전달 하겠다?

더 디테일하면 할 수록 좋습니다.

 

이제 개발자인 저는 머리를 굴리겠죠?

쇼핑몰의 기본 프로세스가 들어가고 , 젊은 층이니 디자인은 좀더 화려하게 해야할것이고, 일반 쇼핑몰과 다르게 동영상을 많이 활용하겠군? 

 

대략정인 일정과 , 예산에 대해서 정리가 가능합니다.

후에 설계와 개발 작업에 뼈대가 되는 과정이므로 정말 중요한 단계입니다. 

초안단계에서 내용이 부실하다면 만족스럽지 못한 결과로 이어질 수 있고, 지연과 예산이 추가로 발 생할 수있으니

최대한 많은 자료를 준비하셔서 정해진 일정에 만족스런 결과를 낼 수 있게 하시기 바랍니다 ^^

 

추가로 * 말로 설명하지마시고 절대적으로 문서 문서화 하시길 적극!!!!!!추천드립니다.

정말 급한상황? 이라면 녹음이라도 하고 꼭 다시 듣고 부족한부분은 확인하고 또 확인하고 요청하고 요청하시길!!!!!

 

 

2.단계 : 계획

1단계가 마무리되면 해당 페이지의 구성을 정리합니다. 

페이지의 계층 구조를 작성하며 전반적은 레이아웃을 구성합니다. 

해더 , 사이드 메뉴 , 메인 콘텐츠 -> 한 화면에 상품은 몇개씩 노출 할것인가 등 전반적인 레이아웃을 구성하고

클라이언트에게 정확하게 전달합니다. 

 

클라이언트는 제안 받은 자료를 신중하게 검토하고 의사를 확실하게 전달할 의무가 여기에 있습니다.

잘못된 예는 다음과 같습니다.

- 알아서 잘 만들어주시겠죠 믿겠습니다. 

- 예산이 부족해서 뭐 이정도만 만들어야 할 것 같네요 

 

잘 반영된 예는 다음과 같습니다.

- 결제를 진행하기전에 장바구니 같이 한번에 상품을 넣어두었다가 한번에 결제가 가능게 있었으면 좋겠네요 

추가로 결제 하기전에 다른 고객이 해당 상품과 함께 구매한 목록을 보여주고 클릭하면 해당 상품으로 이동해서 추가 구매하는 것이 있었으면 좋겠습니다.

등?

 

2단계인 계획 단계에서는 변경이 비교적 자유기때문에  첨삭을 통해 후에 들어갈 비용과 시간을 줄입니다.

 

 

 

3 단계 : 디자인

 

이제 본격적으로 개발을 시작하는 단계로 개발자는 필요한 모든 정보를 활용하여 개발에 들어갑니다.

 

개발자는 클라이언트로 부터 받은 정보를 확인합니다. 앞서 말한 것과 같이  타깃튼 20-30대로 젊은 층을을 공략할 것입니다.

첫번째로 전체적인 색을 구성하는 것이 좋습니다. 

색상이야말로 사이트에 방문했을 때 즉각적인 메시지를 전달하기 때문에 중요합니다. 

장례식장 홈페이지를 핑크색으로 만들 순 없을 테니까요 ..

 

추가로 글꼴, 폰트 사이즈, 미디어 시각적인 요소들을 정리하여 모든 페이지에 통일성 또한 고려합니다. 

흔히 말하는 UI UX가 여기에 해당합니다.

사용자 경험을 반영하여 디자인에 접목합니다.

 

회원가입시 필요한 내용을 작성후에 가입버튼이 최상단에 있어 작성후에 스크롤을 다시 올려서 버튼을 누르는 상황은 만들지 말아야 하겠습니다 .. 

 

또 장치간 호환성 또한 고려하여 반영영해야 합니다.

스마트폰에서도 사용가능한지 , 데스크톱만 사용하는 사용자라면 해상도를 어떻게 할것인지 등을 반영합니다.

 

이제 모든것이 정의가 되었다면,  프로토타입을 작성합니다. 

프로토타입 관련해서 여기 이분이 정리를 잘해주셨으니 참고하세요 

https://yslab.kr/94

 

 

 

4 단계 : 개발

 

개발자는 이제  개발에 들어갑니다.

html css 등

데이터베이스 

등등 개발 환경을 구성하고 개발에 착수합니다. 

 

개발 관련하여 글은 다른 카테고리를 참고 하시기 바랍니다. 

 

여기서 주의해야 할 점은 웹을 개발한다고 가정하면 웹 표준에 맞게 하는 것이 중요하다 생각합니다. 

내맘대로 짠다면 후에 나올 유지보수 단계에서 고생하니까요 ㅎㅎ

 

개발 프로세스의 또 다른 중요한 요소는 보안 입니다. 비밀번호, 사용자 정보 및 개인 컨텐츠와 같은 웹 사이트의 개인 데이터는 안전하게 보호되어야합니다. 이것은 기본 코드가 XSS와 같은 취약점이나 취약점을 허용하지 않도록하여 수행됩니다.

 

개발자를위한 최종 작업 중 하나는 웹 사이트 페이지에 특정 마크 업  추가하는 것 입니다. 이는 일반적으로 사용자에게 직접적인 영향을 미치지 않지만 schema.org 구조화 된 데이터 사용과 같은 검색 엔진 최적화 (SEO) 또는 Facebook 링크 공유 설명 및 이미지 태그와 같은 소셜 미디어 목적에 중요합니다.

 

 

5 단계 : 시작

이제 개발된 결과물을 최종 테스트 하는 단계 입니다. 

최종 제품을 출시하기전에 기능, 성능 및 보안에 중점을 두고 한번 더 확인합니다. 

 

확인이 완료되면 라이브 서버에 배포를 하게 됩니다. 

 

고객은 종종 직원에게 웹 사이트를 사용하도록 요청하고 누락되거나 잘못된 컨텐츠, 끊어진 링크 (어딘가로 연결되는 링크)가 있는지,

온라인 양식이 올바른 이메일받은 편지함에 있는지 확인하도록 요청합니다.

웹 사이트가 게시되면 고객은 일반적 으로 Google 웹 로그 분석 또는 웹 마스터 도구와 같은 웹 분석 서비스 를 통합하는 데 사용되는 필요한 코드 스 니펫을 제공합니다 .

 

모든 것이 준비되어 실행되면서 고객에게 프로젝트 초기에 합의 된 모든 결과물을 제공 할 것 입니다. 

일반적으로 웹 사이트의 소스 코드 파일 사용되는 로고 및 기타 자료를 말합니다 .

프로젝트의 복잡성에 따라 클라이언트는 관리자 패널, 고객 관리 등과 같은 사이트의 특정 기능을 올바르게 사용하기위한 교육 및 문서 도받습니다 .

 

 

6 단계 : 유지 보수

 

웹 디자인 프로세스의 마지막 단계는 모든 사람에게 친숙하지 않습니다. 불행히도 많은 고객들은 웹 사이트를 시작하면 개발사와의  협력을 끝내야한다고 생각합니다. 

 

웹 사이트가 실제로 라이브 상태이고 아마도 모든 기대치를 초과했지만, 더 이상 최적화의 여지가 없다는 것을 의미하지는 않습니다. 시간이 지남에 따라 새로운 트렌드가 등장함에 따라 이는 더욱 사실입니다. 대행사는 일반적으로 A / B 테스트 를 사용하여 웹 사이트 가치를 극대화하기 위해 클릭률 및 전환과 같은 통계에 가장 영향을 미치는 변화를 결정합니다.

그리고 처음에 사이트를 구성한 팀 이외의 다른 디자인, 기능 또는 컨텐츠 와 관련 하여 결과 수정 또는 기타 업데이트를 구현할 수있는 사람은 누구 입니까? 다른 대행사를 사용하여 웹 사이트를 가장 자주 수정하면 매우 작은 변경에도 비용이 많이 들고 구현 시간이 길어집니다.

 

'스타트업 > 기획' 카테고리의 다른 글

1. 홈페이지 만들기 전 고려해야 할 것  (0) 2018.02.15


1. 리액트 시작하기 





시작하기 설치 항목




1. node.js 


https://nodejs.org/ko/



2. npm 또는 yarn 


https://yarnpkg.com/lang/en/


3. 코드 에이터 ( vscode , atom  등등)


https://code.visualstudio.com/


참고로 Atom 같은경우는 생각보다 메모리를 많이 잡아먹어서 ㅠㅠ 버벅거림 ㅠㅠ 첨엔 안그랬는데 왜이렇게 무거워졌는지 VScode를 추천함 !!!




설치 방법은 어렵지 않음 .. 거진 next 만 누르면 설치 됨 ㅎㅎ


yarn은  npm install yarn -g  로 설치해도 됨 ㅎㅎ ~







추가로 Git 을 설치하셔 버전 관리도 추천 드립니다.







디자인에는 Bootstrap을 사용하겠습니다.


구글에 bootstrap admin free template 무료 템플릿이 많이 있습니다. 


저는 AdminLTE 에서 제공하는 템플릿을 사용하겠습니다.


https://adminlte.io/   에서 템플릿을 다운로드 받습니다.




오늘 마우스를 두고와서 ㅠㅠㅠ 더 안이쁘네요 ㅠㅠ 죄송죄송


Source.code.zip 파일을 다운받으시면 됩니다.

다운로드 받으셔서 압축을 풀면 다음과 같은 여러개의 파일이 있는데 그중에서 


이렇게 3개의 파일만 사용 할것이니 우선 알고 계시면 되겠습니다.~


우선 공통으로 사용되는 부분부터 결정해야겠죠 저는 다음과 같이 나눴습니다.



1. 네비게이션 바 (navBar) 

2. 사이드 바 (sideBar)

3. 섹션 컨테이너 

4. 헤더

5. 라인

6. 푸터


이제부터 명칭은 다음과 같이 정의하겠습니다.


제가 계속적으로 수정할 부분은 4번 5번  헤더와 라인입니다. 나머지는 공통부분입니다. 



스프링으로 넘어와 보겠습니다.



servlet-context.xml 에서


1
<resources mapping="/resources/**" location="/resources/" />
cs


이 부분을 보시면 /resources/ 경로까지 설정 되어 있는걸 볼 수 있습니다. 이제 템플릿 다운 받은 것에서
dist , pages, plugins  resource에 복사해서 붙여 넣습니다. 

이제 JSP 파일을 하나 만들어 봅니다. 우선 만드시기 전에 

servlet-context.xml 에서



1
2
3
4
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>
cs


 <beans:property name="prefix" value="/WEB-INF/views/" />
 <beans:property name="suffix" value=".jsp" />


여기를 보시면 느낌이 오시나요 ? 

WEB-INF 아래 views 아래 jsp를 읽고 있네요  저는 views폴더 안에 lotto폴더를 하나 만들어서 lotto.JSP 파일을 만들겠습

니다.



다음과 같이 만들면 Encoding 타입이  EUC-KR 이네요 UTF-8로 바꾸겠습니다.  하나하나 바꾸셔도 되지만

 설정에서 바꾸겟습니다.



windows - preferences - web - JSP Files




다음과 같이 만들어주세요 



딱 보시면 알겠지만 공통으로 쓰이는 부분을 뺀 것입니다.

물론 장점은 한번만 수정하면 ~ 다 적용이 된다는 거겠죠 ?


우선 blank.html의 전체를 복사해서 lotto.jsp 파일을 수정해 넣습니다.




이제 각가 중복으로 사용하는 부분을 Ctrl + X 해서 잘라내서 include에 만들어 둔 곳에 복사해서 넣겠습니다.


꼭 직접 하시기 바랍니다~ 한번만 해보면 다음부터는 어떤 템플릿을 가져와도 나눌 수 있습니다. 꼭 직접하는게 중요해요


mata.jsp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
    
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>프로젝트</title>
  <!-- Tell the browser to be responsive to screen width -->
  <meta name="viewport" content="width=device-width, initial-scale=1">
 
  <!-- Font Awesome -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
  <!-- Ionicons -->
  <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="resources/dist/css/adminlte.min.css">
  <!-- Google Font: Source Sans Pro -->
  <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet">
</head>
cs



위에서 설명했 듯  CSS 파일은 resources 폴더 안에 있습니다, 그래서 요롷게 수정해주셔야합니다.

<link rel="stylesheet" href="resources/dist/css/adminlte.min.css">




navbar.jsp


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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<nav class="main-header navbar navbar-expand bg-white navbar-light border-bottom">
    <!-- Left navbar links -->
    <ul class="navbar-nav">
      <li class="nav-item">
        <class="nav-link" data-widget="pushmenu" href="#"><class="fa fa-bars"></i></a>
      </li>
      <li class="nav-item d-none d-sm-inline-block">
        <a href="../../index3.html" class="nav-link">Home</a>
      </li>
      <li class="nav-item d-none d-sm-inline-block">
        <a href="#" class="nav-link">Contact</a>
      </li>
    </ul>
 
    <!-- SEARCH FORM -->
    <form class="form-inline ml-3">
      <div class="input-group input-group-sm">
        <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">
        <div class="input-group-append">
          <button class="btn btn-navbar" type="submit">
            <class="fa fa-search"></i>
          </button>
        </div>
      </div>
    </form>
 
    <!-- Right navbar links -->
    <ul class="navbar-nav ml-auto">
      <!-- Messages Dropdown Menu -->
      <li class="nav-item dropdown">
        <class="nav-link" data-toggle="dropdown" href="#">
          <class="fa fa-comments-o"></i>
          <span class="badge badge-danger navbar-badge">3</span>
        </a>
        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
          <a href="#" class="dropdown-item">
            <!-- Message Start -->
            <div class="media">
              <img src="../../dist/img/user1-128x128.jpg" alt="User Avatar" class="img-size-50 mr-3 img-circle">
              <div class="media-body">
                <h3 class="dropdown-item-title">
                  Brad Diesel
                  <span class="float-right text-sm text-danger"><class="fa fa-star"></i></span>
                </h3>
                <class="text-sm">Call me whenever you can...</p>
                <class="text-sm text-muted"><class="fa fa-clock-o mr-1"></i> 4 Hours Ago</p>
              </div>
            </div>
            <!-- Message End -->
          </a>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item">
            <!-- Message Start -->
            <div class="media">
              <img src="../../dist/img/user8-128x128.jpg" alt="User Avatar" class="img-size-50 img-circle mr-3">
              <div class="media-body">
                <h3 class="dropdown-item-title">
                  John Pierce
                  <span class="float-right text-sm text-muted"><class="fa fa-star"></i></span>
                </h3>
                <class="text-sm">I got your message bro</p>
                <class="text-sm text-muted"><class="fa fa-clock-o mr-1"></i> 4 Hours Ago</p>
              </div>
            </div>
            <!-- Message End -->
          </a>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item">
            <!-- Message Start -->
            <div class="media">
              <img src="../../dist/img/user3-128x128.jpg" alt="User Avatar" class="img-size-50 img-circle mr-3">
              <div class="media-body">
                <h3 class="dropdown-item-title">
                  Nora Silvester
                  <span class="float-right text-sm text-warning"><class="fa fa-star"></i></span>
                </h3>
                <class="text-sm">The subject goes here</p>
                <class="text-sm text-muted"><class="fa fa-clock-o mr-1"></i> 4 Hours Ago</p>
              </div>
            </div>
            <!-- Message End -->
          </a>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item dropdown-footer">See All Messages</a>
        </div>
      </li>
      <!-- Notifications Dropdown Menu -->
      <li class="nav-item dropdown">
        <class="nav-link" data-toggle="dropdown" href="#">
          <class="fa fa-bell-o"></i>
          <span class="badge badge-warning navbar-badge">15</span>
        </a>
        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
          <span class="dropdown-item dropdown-header">15 Notifications</span>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item">
            <class="fa fa-envelope mr-2"></i> 4 new messages
            <span class="float-right text-muted text-sm">3 mins</span>
          </a>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item">
            <class="fa fa-users mr-2"></i> 8 friend requests
            <span class="float-right text-muted text-sm">12 hours</span>
          </a>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item">
            <class="fa fa-file mr-2"></i> 3 new reports
            <span class="float-right text-muted text-sm">2 days</span>
          </a>
          <div class="dropdown-divider"></div>
          <a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>
        </div>
      </li>
      <li class="nav-item">
        <class="nav-link" data-widget="control-sidebar" data-slide="true" href="#">
          <class="fa fa-th-large"></i>
        </a>
      </li>
    </ul>
  </nav>
  <!-- /.navbar -->
 
cs



sidebar.jsp


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
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<aside class="main-sidebar sidebar-dark-primary elevation-4">
    <!-- Brand Logo -->
    <a href="../../index3.html" class="brand-link">
      <img src="/resources/dist/img/AdminLTELogo.png"
           alt="AdminLTE Logo"
           class="brand-image img-circle elevation-3"
           style="opacity: .8">
      <span class="brand-text font-weight-light">SJH_PROJ</span>
    </a>
 
    <!-- Sidebar -->
    <div class="sidebar">
      <!-- Sidebar Menu -->
      <nav class="mt-2">
        <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
        
          <li class="nav-item">
            <a href="../widgets.html" class="nav-link">
              <class="nav-icon fa fa-th"></i>
              <p>로또 프로젝트 </p>
            </a>
          </li>
        </ul>
      </nav>
      <!-- /.sidebar-menu -->
    </div>
    <!-- /.sidebar -->
  </aside>
 
 
cs



footer.jsp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<footer class="main-footer">
    <div class="float-right d-none d-sm-block">
      <b>Version</b> 3.0.0-alpha
    </div>
    <strong>Copyright &copy; 2014-2018 <a href="localhost:7080/lotto.do">sjhProject.io</a>.</strong> All rights
    reserved.
  </footer>
 
  <!-- Control Sidebar -->
  <aside class="control-sidebar control-sidebar-dark">
    <!-- Control sidebar content goes here -->
  </aside>
 
cs


script.jsp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<script src="resources/plugins/jquery/jquery.min.js"></script>
<!-- Bootstrap 4 -->
<script src="resources/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- SlimScroll -->
<script src="resources/plugins/slimScroll/jquery.slimscroll.min.js"></script>
<!-- FastClick -->
<script src="resources/plugins/fastclick/fastclick.js"></script>
<!-- AdminLTE App -->
<script src="resources/dist/js/adminlte.min.js"></script>
<!-- AdminLTE for demo purposes -->
<script src="resources/dist/js/demo.js"></script>
cs


여기또한 경로를 다 수정해주셔야 합니다.~~~~


이렇게 다 나누고 나면 

lotto.jsp 에는 요렇게 앞으로 수정 할 Section 부분만 남습니다.  이제 공통으로 쓰기위해 나둬는 부분을 include 시켜줘야겠죠 ㅎㅎ


Ctrl + X 해서 도려낸 부분에 include를 시켜줍니다.  경로는 상대경로로 지금 현재 lotto.jsp 보다 위에 include폴더 부터 써주시면 됩니다 . 

<%@include file="../include/meta.jsp" %>



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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%@include file="../include/meta.jsp" %>
<body class="hold-transition sidebar-mini">
<!-- Site wrapper -->
<div class="wrapper">
  <!-- Navbar -->
  <%@include file="../include/navbar.jsp" %>
  <!-- Main Sidebar Container -->
  <%@include file="../include/sidebar.jsp" %>
  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header">
      <div class="container-fluid">
        <div class="row mb-2">
          <div class="col-sm-6">
            <h1>Blank Page</h1>
          </div>
          <div class="col-sm-6">
            <ol class="breadcrumb float-sm-right">
              <li class="breadcrumb-item"><a href="#">Home</a></li>
              <li class="breadcrumb-item active">Blank Page</li>
            </ol>
          </div>
        </div>
      </div><!-- /.container-fluid -->
    </section>
 
    <!-- Main content -->
    <section class="content">
 
      <!-- Default box -->
      <div class="card">
        <div class="card-header">
          <h3 class="card-title">Title</h3>
 
          <div class="card-tools">
            <button type="button" class="btn btn-tool" data-widget="collapse" data-toggle="tooltip" title="Collapse">
              <class="fa fa-minus"></i></button>
            <button type="button" class="btn btn-tool" data-widget="remove" data-toggle="tooltip" title="Remove">
              <class="fa fa-times"></i></button>
          </div>
        </div>
        <div class="card-body">
          Start creating your amazing application!
        </div>
        <!-- /.card-body -->
        <div class="card-footer">
          Footer
        </div>
        <!-- /.card-footer-->
      </div>
      <!-- /.card -->
 
    </section>
    <!-- /.content -->
  </div>
  <!-- /.content-wrapper -->
 
  
</div>
<!-- ./wrapper -->
<%@include file="../include/footer.jsp" %>
<!-- jQuery -->
<%@include file="../include/script.jsp" %>
</body>
</html>
 
cs


이제 모든 디자인 작업을 끝냈으니 화면에 잘 나오나 확인 해야겠죠 ?ㅎㅎㅎ


향후에 ULR을 localhost:7080/~~~~.do 로 호출하기위해서 web.xml을 조금 수정하겠습니다.


 / 요 부분을


1
2
3
4
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
cs


*.do 로 주정해주세요


1
2
3
4
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
cs



이제 컨트롤러를 만들어서 화면을 확인해 보겠습니다,~


다음과 같이 com.sjh.rotto 아래에 lottoController 클래스를 하나 만들고 다음과 같이 작성합니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.sjh.rotto;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class LottoController {
 
    @RequestMapping("/lotto.do")
    public String dashBaord() {
        
        return "lotto/lotto";
    }
}
 
cs



이제보니 패키지를 rotto라고 햇네요 ;;;


작성하셨다면 이제 서버를 돌리고 

화면을 확인해보면


다음과 같이 화면이 나온다면 성공입니다.~

참고로 로고 이미지가 깨질 텐데 ~ 다 이해하셨다면 저와같이 나올 겁니다 ㅎㅎ 숙제!!



수고 많으셨습니다 ~~~ 이제 디자인 작업이 다 끝났으니 다음엔 로또정보를 DB에 넣어 보도록 하겠습니다~


수고하셧습니다~

+ Recent posts