M S(메이븐 스프링) 프로젝트 생성(web.xml+AOP설정+컨트롤러매핑+서비스파일추가까지(DAO는제외)
이클립스 케플러이상버전 사용한 전체 프로젝트 소스
인텍스화면 결과화면
======================
1. 스프링 프로젝트 생성
======================
- File > New > Other 선택
- Spring > Spring Project 선택
- 프로젝트 이름 입력 : Pen, 하단의 Simple Spring Web Maven 선택 ( 자동으로 패키지명이 org.springframework.samples.service.service 지정된다.) *패키지명을 수동으로 입력하고 싶으면, 하단의 Spring MVC Project 를 선택한다.
- Finish를 누르면 프로젝트가 생성이 되고, 메이븐이 자동으로 인터넷에서 프로젝트에 필요한 라이브러리를 자동으로 다운받기 시작한다.
==================
2. 톰캣7.0서버 추가
==================
- File > New > Other 선택
- Server > Server 선택
- Tomcat v7.0 Server 선택
- Pen 프로젝트 선택 후 Add 버튼 클릭
- Finish
======================================
3. 이클립스 Project Explore 화면구조 확인
======================================
- 소스폴더: Pen/src/main/
- 내용전체
<?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/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">
<!-- Uncomment and your base-package here:
<context:component-scan
base-package="org.springframework.samples.web"/> -->
<context:component-scan base-package="com.pen.web"></context:component-scan><!-- com/pen/web 폴더의 모든 클래스의 @어노테이션 자동등록 -->
<mvc:annotation-driven /> <!-- 클래스파일의 어노테이션으로 컨트롤러와 서비스의 매핑을 사용하겠다는 의미-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 뷰화면 위치를 컨트롤러 매핑에서 생략가능-->
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
==================
5. 뷰화면 파일 생성
==================
- Pen/src/main/webapp/WEB-INF/view/showMessage.jsp
- 내용전체
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
<h2>${message}</h2> <!-- 아래 컨트롤러 클래스에서 Response 한 값 -->
</body>
</html>
===========================
6. 컨트롤러 클래스 파일 생성
===========================
- Pen/src/main/java/com/pen/web/controller/AddtionService01.java
- 내용전체
package com.pen.web.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.pen.web.service.AddtionService;
@Controller <% /* 컨트롤러 클래스 임을 명시 */ %>
public class AddtionServlet01 {
@Autowired AddtionService addtionservice; <% /* 서비스 클래스 호출 */ %>
@RequestMapping("/addtionServlet01") <% /* URL의 Requset 액션 매핑 */ %>
public ModelAndView main(HttpServletRequest req, HttpServletResponse res) throws Exception {
ModelAndView mav = new ModelAndView("showMessage"); <% /* 뷰화면 showMessage.jsp 지정 */ %>
//int num1 = 30, num2 = 20;
//int result = num1 + num2;
int result = addtionservice.AddSum(30,20); <% /* 상단에서 지정한 AddtionService 클래스에서 AddSum 함수 호출 */ %>
mav.addObject("message", result); <% /* 계산 결과 변수값 message = result 지정 */ %>
return mav; <% /* Response 값으로 Model and View 개체 post */ %>
}
}
======================
7. 인터페이스 파일 생성
======================
- Pen/src/main/java/com/pen/web/service/Addtion.java
- 내용전체
package com.pen.web.service;
public interface AddtionService {
int AddSum(int num1, int num2) throws Exception;
}
========================================
8. 인터페이스 구현 서비스 클래스 파일 생성
========================================
- Pen/src/main/java/com/pen/web/service/impl/AddtionServiceImpl.java
- 내용전체
package com.pen.web.service.impl;
import org.springframework.stereotype.Service;
import com.pen.web.service.AddtionService;
@Service("AddtionService")
public class AddtionServiceImpl implements AddtionService {
public int AddSum(int num1, int num2){
int sum = num1 + num2;
return sum;
}
}
=============
9. 인덱스 파일
=============
- Pen/src/main/webapp/index.jsp
- 내용전체
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
<c:url value="/addtionServlet01" var="messageUrl" />
<a href="${messageUrl}">Click to enter</a>
</body>
</html>
이클립스-스파크프레임웍-RDD를 사용한 웹통계 출력 기초 (0) | 2016.01.08 |
---|---|
서브라임 에디터(유료) Java빌드시, OUT 결과에서 한글깨지는 에러처리 방법 (0) | 2015.11.22 |
스프링 MVC 구성 (0) | 2015.09.20 |
MyBatis 쿼리파일에 if, choos, when, otherwise 사용하기 (0) | 2015.09.14 |
확장자가 .jspf 인 파일의 사용목적 (1) | 2015.09.12 |
댓글 영역