2017 JAVA 교육수료/DAY

Spring 에서 깃허브 프로젝트 가져오기


Import - Git - Projects From Git - Clone URI 하고 깃허브의 주소와 아이디 비밀번호 입력한다



Github에 Commit할때

마우스 우클릭 - Team - Commit

저장소에 저장되지 않은 변경된 내역 중에 커밋할 내용을 드래그한 후

커밋메세지를 작성한 후 커밋한다.

커밋과 동시에 PUSH해서 깃허브에 올리고 싶다면 Commit and Push를 클릭한다

Push할때 브랜치를 생성할 수 있다.





88DAY / MySQL 랭크함수

2017. 8. 8. 09:00

Oracle과 달리 MySQL에서는 랭크함수가 없어서 구현해줘야한다.


같은 점수면 동점처리하고

원래는 1등 1명, 2등 2명이면, 다음 등수는 4등이 되어야하지만

우리 프로젝트에서 처리하기엔 더 불편할 것같아서 다음 등수는 3등이 되게하였다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    SELECT 
        sns_board_no, 
        CASE
        WHEN @prev = liker then @Rank 
        WHEN @prev := liker then @Rank := @Rank +1 
        END AS rank, 
        liker
    FROM 
        (
        SELECT sns_board_no ,count(sns_like_no) as liker
        FROM sns_like
        WHERE MONTH(sns_like_date) = (MONTH(NOW())-1)
        GROUP BY sns_board_no 
        ORDER BY count(sns_like_no) DESC
        )sub1
    CROSS JOIN (select @Rank := 0 ,@prev :=  NULL) sub2
    ;
cs



MySQL 사용자 변수 사용


1)SET을 사용하여 변수설정


1
SET @exam = 1;
cs

2)@var := expr

1
SELECT @exam := 1;
cs




카페24 호스팅 신청


카페24에 회원가입한 후 서비스를 신청한다.



톰캣 JSP 광호스팅의 제일 저렴한 절약형으로 결정.


가입 후 처음으로 호스팅을 신청하여 신청하지 않은 아이디라고 뜨는데

2번째 이상 호스팅 신청시에는 새로운 아이디가 발급된다.

최초로 신청한 아이디인 부아이디에서 2번째 신청시 발급된 자아이디를 관리할 수 있다.


신청할 때 MySQL에서 사용할 비밀번호를 설정해준다.



서버환경 / 기간 / 도메인 선택하고 결제하면 신청완료.

기간이 길면 할인율이 높아진다.

신규도메인 등록하려면 돈 내야해서 무료도메인 쓰는데 카페24가입 아이디가 도메인된다.




신청할 때는 몰랐는데

닷홈의 무료호스팅 신청을 이용하면 무료로 도메인을 설정할 수 있다.

닷홈에서는 개인 당 3개의 계정을 무료호스팅 받을 수 있다


http://www.dothome.co.kr/web/free/index.php


닷홈으로 도메인을 신청하였으면 보유도메인에 체크하여 주소를 입력해준다.

그 후 닷홈으로 가서 네임서버에 카페24등록한다.

다음에 기회가 되면 해봐야겠다.

추가)닷홈 무료도메인은 지원하는 버전이 너무낮아서 활용도가 낮다한다.

Spring 개발단계 - 준비


(1)Spring Tool 설치


Spring Community http://spring.io/


>TOOLS 들어가서 다운로드


(2)톰캣 서버 가져오기


-기존 서버아닌 톰캣 9.0사용하였다.


(3) legacy project생성 

-MVC프로젝트선택



(4)JRE System Library 버전 변경


[ Java build path ]에서 JRE System Library 을 수정한다.




(5)web.xml파일 수정과 root-context.xml파일삭제를 한다.


-servlet 3.0 으로 변경

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
 
cs


-해당부분삭제

]


: 부팅이 두개 되기때문에 



(6)

pom.xml 파일에서 springframework 버전을 최신버전(4.3.9.RELEASE)으로 다운로드 한다.

mysql도 추가한다.


1
2
3
4
5
6
7
<!-- mysql -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version>
</dependency>
cs

(7)servlet-context.xml 파일수정


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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 
    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
    
    <!-- Enables the Spring MVC @Controller programming model -->
    <mvc:annotation-driven />
 
    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <mvc:resources mapping="/resources/**" location="/resources/" />
 
    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>
    <context:component-scan base-package="com.jjdev.mvc" />
 
</beans>
 
cs


(8)마우스 우클릭 - [ run as ] - [ run on server] 실행확인





(9)Board , BoardDao 클래스 생성


(10)boardAdd.jsp 생성


(11)BoardController 클래스 생성후 BoardAdd()메소드 추가


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 com.jjdev.mvc;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class BoardController {
    @Autowired
    BoardDao boardDao;
    @RequestMapping(value="/boardAdd", method=RequestMethod.GET)
    public String boardAdd(){
        return "boardAdd";
    }
    @RequestMapping(value="/boardAdd", method=RequestMethod.POST)
    public String boardAdd(Board board){
        boardDao.insertBoard(board);
        return "redirect:/";
    }
    
    
}
 
cs


(12)Run on Server 후 주소창에 boardAdd 입력





(13)글작성 후 mysql에 데이터저장되었는지 확인.

+ Recent posts