Spring

Similar documents
Web Service Computing

Intellij spring(mvc) + maven 환경구축 New Project에서좌측 template 유형에서 Maven을선택합니다. 오른쪽상단에 Project SDK는 java SDK가설치된폴더를선택하면됩니다. 오른쪽에 Create from archetyhpe을체

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Spring Boot

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

Intro to Servlet, EJB, JSP, WS

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Social Media and Social Computing

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

Interstage5 SOAP서비스 설정 가이드

4S 1차년도 평가 발표자료

슬라이드 1

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Apache Ivy

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

문서의 제목 나눔고딕B, 54pt

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

JavaGeneralProgramming.PDF

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

Spring Framework RESTful 지원 REST API는웹서비스를개발하는표준방법이되었고자바와관련하여사용할수있는많은프레임워크와라이브러리가있다. JAX-RS, Restlet, Jersey, RESTEasy, Apache CFX 등이있지만 Java

슬라이드 1

슬라이드 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

슬라이드 1

PowerPoint Presentation

Comparing Open-Source Web Frameworks

교육2 ? 그림

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A632C8B8C7D1B1B9BDBAC7C1B8B5BBE7BFEBC0DAB8F0C0D32D496E E D56432E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

Secure Programming Lecture1 : Introduction

<property name="configlocation" value="classpath:/egovframework/sqlmap/example/sql-map-config.xml"/> <property name="datasource" ref="datasource2"/> *

github_introduction.key

KYO_SCCD.PDF

Facebook API

Spring Data JPA Many To Many 양방향 관계 예제

(jpetstore \277\271\301\246\267\316 \273\354\306\354\272\270\264\302 Spring MVC\277\315 iBatis \277\254\265\277 - Confluence)

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

No Slide Title

슬라이드 1

Software Requirements Specification Template

chapter1,2.doc

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

PowerPoint 프레젠테이션

Interstage

Corporate PPT Template

MasoJava4_Dongbin.PDF

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi

<323020C0CCB8EDC8A32DB0E6B7AEC4C1C5D7C0CCB3CA2E687770>

슬라이드 1

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

본 강의에 들어가기 전

슬라이드 1

소프트웨어 검증 및 설계

PowerPoint 프레젠테이션

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

1

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

매력적인 맥/iOS 개발 환경 그림 A-1 변경 사항 확인창 Validate Setting... 항목을 고르면 된다. 프로젝트 편집기를 선택했을 때 화면 아 래쪽에 있는 동일한 Validate Settings... 버튼을 클릭해도 된다. 이슈 내비게이터 목록에서 변경할


슬라이드 1

서현수

Microsoft PowerPoint - 테스트주도개발.pptx

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PowerPoint Presentation

PowerPoint 프레젠테이션

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

PowerPoint 프레젠테이션

슬라이드 1

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

파워포인트

구로구민체육센터 여성전용 기구필라테스 강좌 신설 구로구시설관리공단은 신도림생활체육관에서 2014년도부터 시행하여 주민의 큰 호응을 얻고있는 기구필라 테스 강좌를 일자로 구로구민체육센터에 확대 시행하게 되었습니다. 구로구 관내 고객들의 니즈를 반영한 기

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

DocsPin_Korean.pages

슬라이드 1

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

Macaron Cooker Manual 1.0.key

Software Requirements Specification Template

PowerPoint 프레젠테이션

Microsoft Word - src.doc

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

MVVM 패턴의 이해

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

Software Requirements Specification Template

Transcription:

Spring MVC 프로젝트생성 2015 Web Service Computing

일반적인스프링의정의 스프링의정의 자바엔터프라이즈개발을편하게해주는오픈소스경량급애플리케이션프레임워크 스프링의기원 로드존슨 (Rod Johnson) 이라는유명 J2EE 개발자가출간한 Expert One-on- One J2EE Design and Development 이라는제목의책에소개된예제샘플 정의내단어 1 - 애플리케이션프레임워크 애플리케이션개발의전과정을빠르고편리하며효율적으로진행하는데일차적인목표 애플리케이션전영역을관통하는일관된프로그래밍모델과핵심기술제공

프레임워크란? 스프링의정의 GoF 의디자인패턴으로유명한랄프존슨 (Ralph Johnson) 교수는프레임워크를 " 소프트웨어의구체적인부분에해당하는설계와구현을재사용이가능하게끔일련의협업화된형태로클래스들을제공하는것 " 이라고정의 소프트웨어제작을편리하게할수있도록미리뼈대를이루는클래스와인터페이스를제작하여제공 프레임워크는애플리케이션의틀과구조를결정할뿐아니라, 그위에개발된개발자의코드를제어

정의내단어 2 경량급 스프링의정의 불필요하게무겁지않다는뜻 예전의무거운 EJB (Enterprise Java Beans) 의과도한엔지니어링기술에비해가벼운스프링을설명하는단어 코드는더단순하고개발과정은더편리해짐 EJB에서불편했던고급기능을세련된방식으로적용가능 스프링으로만들어진코드는 EJB기반으로만들어진코드와기술수준은비슷하면서도생산성과품질면에서는더유리함

스프링의정의 정의내단어 3 자바엔터프라이즈개발을편하게 근본적으로엔터프라이즈개발의복잡함을제거하고편하게개발할수있는해결책제공 EJB 1.0 스펙에서제시된 EJB 목표와비슷 스프링은위와같은 EJB 가궁극적으로이루려고했던목적을제대로실현해주는프레임워크

정의내단어 4 오픈소스 소스가모두에게공개되고특별한라이센스를취득할필요없이자유롭게이용가능 스프링에적용된오픈소스라이센스 Apache License Ver. 2.0 상업적인제품에포함하거나비공개프로젝트에자유롭게이용가능 다만스프링을이용하고있으며, 원저작자에대한정보는포함해야하는의무사항존재 필요하다면기존소스를수정하여사용가능하며수정된내용에대한공개의무는없음 온라인커뮤니티 의견공유, 버그신고, 기능추가요청, 피드백등 공식적인개발자및업체 스프링의정의 초기부터공식적인개발자그룹존재해왔음 SpringSource 업체에서코드개발주관해옴 2009 년 SpringSource 는 VMWare 업체에합병됨 더욱안정된환경과조직에서스프링소스를개발하고있음

전자정부프레임워크의토대 http://www.egovframe.go.kr/apc/selectappliedcase.do? menu=1&submenu=5&leftsub=1

프로젝트생성

프로젝트생성

Enable Auto-Import 클릭 프로젝트생성

프로젝트생성 File->Setting 메뉴에서 encoding 으로검색해서가능한모든것을 UTF-8 로변경

.gitignore 는 github 에올라가길바라지않는백업파일이나개인적인설정파일들을기입하는파일이다. 프로젝트최상위폴더에.gitignore 라는파일을생성하고, 아래와같이복사.idea target *.iml src/main/resources/dev/*.gitignore 생성.gitignore 에등록했는데도반영이안될경우 아래와같이 cache 된파일들을지우고새로반영 1) git rm r cached. 2) git add.

생성된프로젝트를 Git 에추가하기 1) git init 2) git add. 3) git commit -m "first commit 4) github에로그인해서 repository 생성 5) git remote add origin https://github.com/your_id/your_repository.git 6) git push -u origin master

프로젝트기본구조 /src/main/java.java 파일이위치 /src/main/webapp.jsp 파일이위치 /src/main/resources 설정파일 (.xml,.properties..) 이위치 /target 실행파일 (.class 파일및빌드패키지 ) 위치 pom.xml Maven 설정파일 External Libraries 외부라이브러리파일

pom.xml 설정 pom.xml 1/2 <?xml version="1.0" encoding="utf-8"?> <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <name>web Service and Computing - Spring</name> <groupid>koreatech.cse</groupid> <artifactid>wsc</artifactid> <version>001</version> <packaging>war</packaging> <properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <project.reporting.outputencoding>utf-8</project.reporting.outputencoding> <spring.version>4.2.0.release</spring.version> </properties> <dependencies> <!-- Servlet --> <dependency> <groupid>javax.servlet</groupid> <artifactid>javax.servlet-api</artifactid> <version>3.0.1</version> <scope>provided</scope> </dependency>

pom.xml 2/2 pom.xml 설정 <dependency> <groupid>javax.servlet.jsp</groupid> <artifactid>jsp-api</artifactid> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.2</version> </dependency> <!-- Spring --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-web</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${spring.version}</version> </dependency> </dependencies> </project>

dispatcher-servlet.xml 설정 /src/main/web/web-inf/dispatcher-servlet.xml 생성 <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans>

services.xml 설정 /src/main/resources/services.xml 생성이름은다른것으로해도무관하다.(spring-config.xml, app-config.xml.. 등 ) <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <mvc:annotation-driven /> <context:component-scan base-package="koreatech.cse" /> <bean id="contentnegotiatingviewresolver" class="org.springframework.web.servlet.view.contentnegotiatingviewresolver"> <property name="viewresolvers"> <list> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix" value="/web-inf/views/" /> <property name="suffix" value=".jsp" /> </bean> </list> </property> </bean> </beans>

web.xml 설정 /src/main/web/web-inf/web.xml 생성 <?xml version="1.0" encoding="utf-8"?> <web-app version="3.0" 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"> <display-name>web Service and Computing</display-name> <context-param> <param-name>contextconfiglocation</param-name> <param-value> classpath:services.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.contextloaderlistener </listener-class> </listener> <!--dispatcher-servlet.xml--> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>

프로젝트타입지정 File->Project Structure->Modules 에서 + 버튼클릭후앞서생성한설정파일들체크 이프로젝트가 Spring Web 프로젝트이고, 설정파일은이러한것이있다라는것을 Intellij 에알려줌

DispatcherServlet 간단소개

HomeController 설정 /src/main/java/ 에 koreatech.cse.controller 패키지생성 HomeController.java 생성 package koreatech.cse.controller; import org.springframework.stereotype.controller; import org.springframework.ui.model; import org.springframework.web.bind.annotation.requestmapping; @Controller @RequestMapping("/") public class HomeController { } @RequestMapping public String home(model model) { model.addattribute("textfromcontroller", "World"); return "hello"; }

hello.jsp 설정 /src/main/webapp/web-inf/views 에 hello.jsp 생성 <%@ page contenttype="text/html;charset=utf-8" language="java" %> <html> <head> <title></title> </head> <body> Hello, ${textfromcontroller} </body> </html>

실행환경설정

실행 브라우저에 http://localhost:8080 입력 Hello, World 라는텍스트가나타나는지확인

/target 폴더리뷰 앞서톰캣실행환경설정에서 Build 'wsc:war exploded' artifact 라는문구가의미하는것은아래와같이 프로젝트를 war 압축이풀린상태에서실행함 을의미하는것이다.

JRebel 설치.jsp 는수정해도톰캣재시작이필요하지않지만.java 는수정하면톰캣을재시작해야반영된다. 개발상의편의를위해서재시작이필요없게해주는플러그인설치 https://zeroturnaround.com/software/jrebel/trial/

JRebel 설치 간단한가입후나오는 activation code 를복사 나중을위해개인적으로안전한곳에저장하자.

JRebel 설치 Intellij 에서 Plug-in 검색, 설치

JRebel 설치 앞서의 Activation code 붙여넣기