1. src/main/java에 있는 com.spring.board.service패키지에

   BoardDeleteService.java 클래스 생성 및 소스코드 추가 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.spring.board.service;
 
import org.springframework.beans.factory.annotation.Autowired;
 
import com.spring.board.dao.BoardDao;
import com.spring.board.model.Board;
 
public class BoardDeleteService {
    
    private BoardDao boardDao;
    @Autowired
    public void setBoardDao(BoardDao boardDao) {
        this.boardDao = boardDao;
    }//setBoardDao()
 
    public void service(int no) {
        boardDao.delete(no);
    }//service()
 
}//class BoardUpdateService
 
cs

2. src/main/java/com.spring.board.controller/BoardController.java 클래스에 있는  생성자및 delete() 메서드에 아래 소스코드로 수정 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private BoardDeleteService boardDeleteService;
    
    @Autowired
    public BoardController(BoardListService boardListService,BoardViewService boardViewService,
            BoardWriteService boardWriteService, BoardUpdateService boardUpdateService,
            BoardDeleteService boardDeleteService) {
        this.boardListService=boardListService;
        this.boardViewService=boardViewService;
        this.boardWriteService=boardWriteService;
        this.boardUpdateService=boardUpdateService;
        this.boardDeleteService=boardDeleteService;
    }//생성자
 
    @RequestMapping("/delete.do")
    public String delete(int no){
        boardDeleteService.service(no);
        return "redirect:./list.do";
    }//method delete()
cs


3. src/main/resources/board.xml 파일에 아래 소스코드 추가 합니다.


<bean class="com.spring.board.service.BoardDeleteService" />


4. src/main/java/com.spring.board.dao/BoardDao.java 클래스에 있는 delete() 메서드 생성 및 아래 소스코드로 수정 합니다.

1
2
3
4
5
    // 게시판 글 삭제
    public void delete(int no) {
        System.out.println("### BoardDao.delete() ###");
        sqlSessionTemplate.delete("dao.Board.delete", no);
    }//method delete()
cs


5. src/main/resources/mybatis/boardDao.xml에 아래 소스코드 추가

1
2
3
    <delete id="delete">
        delete from board where no=#{no}
    </delete>
cs


6. 서버(tomcat) 실행 후 http://localhost/board/list.do URL로 접속 합니다.

16번 글을 삭제 하겠습니다.


7. http://localhost/board/delete.do?no=16 URL로 접속 합니다.

delete는 따로 페이지가 없으므로 list.do로 다시 돌아가도록 하였습니다.


<끝>




Posted by 홍이홍이
,

1. src/main/java에 있는 com.spring.board.service패키지에

   BoardUpdateService.java 클래스 생성 및 소스코드 추가 합니다.

1
2
3
4
5
6
7
8
9
    private BoardDao boardDao;
    @Autowired
    public void setBoardDao(BoardDao boardDao) {
        this.boardDao = boardDao;
    }//setBoardDao()
 
    public void service(Board board) {
        boardDao.update(board);
    }//service()
cs


2. src/main/java/com.spring.board.controller/BoardController.java 클래스에 있는  생성자및 updateForm()/update() 메서드에 아래 소스코드로 수정 합니다.

1
2
3
4
5
6
7
8
9
10
    private BoardUpdateService boardUpdateService;
    
    @Autowired
    public BoardController(BoardListService boardListService,BoardViewService boardViewService,
            BoardWriteService boardWriteService, BoardUpdateService boardUpdateService) {
        this.boardListService=boardListService;
        this.boardViewService=boardViewService;
        this.boardWriteService=boardWriteService;
        this.boardUpdateService=boardUpdateService;
    }//생성자
cs


1
2
3
4
5
6
7
8
9
10
11
    @RequestMapping(value="/update.do",method=RequestMethod.GET)
    public String updateForm(Model model,int no){
        model.addAttribute("view",boardViewService.service(no));
        return "updateForm";
    }//method updateForm()-GET
    
    @RequestMapping(value="/update.do",method=RequestMethod.POST)
    public String update(Board board){
        boardUpdateService.service(board);
        return "redirect:view.do?no="+board.getNo();
    }//method update()-POST
cs


3. src/main/resources/board.xml 파일에 아래 소스코드 추가 합니다.


<bean class="com.spring.board.service.BoardUpdateService" />


4. src/main/java/com.spring.board.dao/BoardDao.java 클래스에 있는 update() 메서드 생성 및 아래 소스코드로 수정 합니다.


1
2
3
4
5
    // 게시판 글 수정
    public void update(Board board) {
        System.out.println("### BoardDao.update() ###");
        sqlSessionTemplate.update("dao.Board.update", board);
    }//method update()
cs

5. src/main/resources/mybatis/boardDao.xml에 아래 소스코드 추가

1
2
3
4
    <update id="update">
        update board set title=#{title},content=#{content},
        writer=#{writer} where no=#{no}
    </update>
cs


6. src/main/webapp/WEB-INF/view/updateForm.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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
글수정 페이지 입니다.
<form action="update.do" method="post">
<input type="hidden" name="no" value="${view.no}" />
제목: <input name="title"  value="${view.title}"/><br/>
내용: <textarea rows="5" cols="60" name="content" >${view.content}</textarea><br/>
작성자: <input name="writer"  value="${view.writer}" readonly="readonly"/><br/>
<button type="submit">수정</button>
<button type="button" class="btnCancel">취소</button>
</form>
</body>
</html>
cs


7. 서버(tomcat) 실행 후 http://localhost/board/view.do?no=1 URL로 접속 합니다.


1번글 글보기 화면 입니다.

1번글 수정 페이지 입니다.


제목과 내용을 수정 후 수정 버튼 클릭 합니다.


1번글 글보기 페이지에 접속 해보면 수정 되어 있는것을 확인 할 수 있습니다.








<끝>


Posted by 홍이홍이
,

1. src/main/java에 있는 com.spring.board.service패키지에

   BoardWriteService.java 클래스 생성 및 소스코드 추가 합니다.

package com.spring.board.service;
import org.springframework.beans.factory.annotation.Autowired;
import com.spring.board.dao.BoardDao;
import com.spring.board.model.Board;
public class BoardWriteService {
private BoardDao boardDao;
@Autowired
public void setBoardDao(BoardDao boardDao) {
this.boardDao = boardDao;
}//setBoardDao()
public void service(Board board) {
boardDao.write(board);
}//service()
}//class BoardWriteService









2. src/main/java/com.spring.board.controller/BoardController.java 클래스에 있는  생성자및 writeForm()/write() 메서드에 아래 소스코드로 수정 합니다.


private BoardWriteService boardWriteService;

@Autowired
public BoardController(BoardListService boardListService,BoardViewService boardViewService,
BoardWriteService boardWriteService) {
this.boardListService=boardListService;
this.boardViewService=boardViewService;
this.boardWriteService=boardWriteService;
}//생성자
@RequestMapping(value="/write.do",method=RequestMethod.GET)
public String writeForm(){
return "writeForm";
}//method write()-GET
@RequestMapping(value="/write.do",method=RequestMethod.POST)
public String write(Board board){
boardWriteService.service(board);
return "redirect:list.do";
}//wethod write()-POST











3. src/main/resources/board.xml 파일에 아래 소스코드 추가 합니다.


<bean class="com.spring.board.service.BoardWriteService" />



4. src/main/java/com.spring.board.dao/BoardDao.java 클래스에 있는 wirte() 메서드 생성 및 아래 소스코드로 수정 합니다.

// 게시판 글 쓰기
public void write(Board board) {
System.out.println("### BoardDao.write() ###");
sqlSessionTemplate.insert("dao.Board.write", board);
}//method write()

5. src/main/resources/mybatis/boardDao.xml에 아래 소스코드 추가

<insert id="write">
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,#{title},#{content},#{writer},sysdate)
</insert>

6. src/main/webapp/WEB-INF/view/writeForm.jsp 파일에 아래 소스코드 추가 합니다.


<form action="write.do" method="post">
제목: <input name="title" /><br/>
내용: <textarea rows="5" cols="60" name="content"></textarea><br/>
작성자: <input name="writer" /><br/>
<button type="submit">쓰기</button>
</form>

7. 서버(tomcat) 실행 후 http://localhost/board/write.do URL로 접속 합니다. 제목 / 내용 / 작성자 입력 후 쓰기 버튼 클릭 하면 자동으로 list.do 페이지로 이동 합니다.


<끝>


Posted by 홍이홍이
,

1. src/main/java/com.spring.board.controller/BoardController.java 클래스에 있는 view() 메서드에 아래 소스코드로 수정 합니다.

@RequestMapping("/view.do")
public String view(Model model, int no){
model.addAttribute("view",boardViewService.service(no));
return "view";
}//method view()




2. src/main/java에 있는 com.spring.board.service패키지에

   BoardViewService.java 클래스 생성 및 소스코드 추가 합니다.

package com.spring.board.service;
import org.springframework.beans.factory.annotation.Autowired;
import com.spring.board.dao.BoardDao;
import com.spring.board.model.Board;
public class BoardViewService {
private BoardDao boardDao;
@Autowired
public void setBoardDao(BoardDao boardDao) {
this.boardDao=boardDao;
}//method setBoardDao()
public Board service(int no){
return boardDao.view(no);
}//method service();
}//class BoardListService












3. src/main/java/com.spring.board.dao/BoardDao.java 클래스에 있는 view() 메서드에 아래 소스코드로 수정 합니다.

// 게시판 글 보기
public Board view(int no) {
System.out.println("### BoardDao.view() ###");
return sqlSessionTemplate.selectOne("dao.Board.view", no);
}// view()


4. src/main/java/com.spring.board.controller/BoardController.java 클래스에 있는 생성자에 아래 소스코드로 수정 합니다.


private BoardViewService boardViewService;

@Autowired
public BoardController(BoardListService boardListService,BoardViewService boardViewService) {
this.boardListService=boardListService;
this.boardViewService=boardViewService;
}//생성자

5. src/main/resources/board.xml에 아래 소스코드 추가 합니다.


<bean class="com.spring.board.service.BoardViewService" />


6. src/main/resources/mybatis/boardDao.xml에 아래 소스코드 추가

<select id="view" resultType="com.spring.board.model.Board">
select no,title,content,
writer,wdate,hit from board
where no=#{no}
</select>

7. src/main/webapp/WEB-INF/view/view.jsp 파일에 아래 소스코드 추가 합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
글보기 페이지 입니다.
<table>
<tr>
<th>번호</th>
<td>${view.no}</td>
</tr>
<tr>
<th>제목</th>
<td>${view.title}</td>
</tr>
<tr>
<th>내용</th>
<td>${view.content}</td>
</tr>
<tr>
<th>작성자</th>
<td>${view.writer}</td>
</tr>
<tr>
<th>작성일</th>
<td>
${view.wdate}
</td>
</tr>
<tr>
<th>조회수</th>
<td>${view.hit}</td>
</tr>
<tr>
<td colspan="2">
<button class="btnUpdate">수정</button>
<button class="btnDelete">삭제</button>
<button class="btnList">리스트</button>
</td>
</tr>
</table>
</body>
</html>








8. 서버(tomcat) 실행 후 http://localhost/board/view.do?no=5 URL로 접속




<끝>











Posted by 홍이홍이
,

1. http://hongeui.tistory.com/9?category=732702 참고하세요

test01 계정으로 board 테이블 및 board_seq 시퀀스 생성 합니다.

기본 데이터도 insert문을 사용 하여 삽입 합니다.


create table board(
no number(10) primary key, -- 글번호
title varchar2(100) not null, -- 글제목
content varchar2(2000) not null, -- 글내용
writer varchar2(20) not null, -- 작성자
wdate date,
hit number(10) default 0
);
create sequence board_seq;
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'첫 번째 글의 제목','첫 번째 글의 내용','작성자1',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'두 번째 글의 제목','두 번째 글의 내용','작성자2',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'세 번째 글의 제목','세 번째 글의 내용','작성자3',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'네 번째 글의 제목','네 번째 글의 내용','작성자4',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'다섯 번째 글의 제목','다섯 번째 글의 내용','작성자5',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'여섯 번째 글의 제목','여섯 번째 글의 내용','작성자6',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'일곱 번째 글의 제목','일곱 번째 글의 내용','작성자7',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'여덟 번째 글의 제목','여덟 번째 글의 내용','작성자8',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'아홉 번째 글의 제목','아홉 번째 글의 내용','작성자9',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'열 번째 글의 제목','열 번째 글의 내용','작성자10',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'열 하나 번째 글의 제목','열 하나 번째 글의 내용','작성자11',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'열 둘 번째 글의 제목','열 둘 번째 글의 내용','작성자12',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'열 셋 번째 글의 제목','열 셋 번째 글의 내용','작성자13',sysdate);
insert into board(no,title,content,writer,wdate)
values(board_seq.nextval,'열 넷 번째 글의 제목','열 넷 번째 글의 내용','작성자14',sysdate);
select * from board;
commit;

 


2. src/main/java에 package 및 class 생성

패키지 명 : com.spring.board.model

클레스 명 : Board

3. Board.java에 아래 소스코드 입력 합니다.

package com.spring.board.model;
public class Board {
private int no;
private String title;
private String content;
private String writer;
private String wdate;
private int hit;
}//class Board

4. 상단에 있는 Source -> Generate Getters and Setters 클릭





Select All 선택 하여 모두 선택 하여 getter / setter 생성 합니다.







5. src/main/java에 package 및 class 생성 및 service() 메서드 추가

패키지 명 : com.spring.board.service

클레스 명 : BoardListService

6. board.xml에 아래 소스코드를 추가 합니다.

<bean class="com.spring.board.service.BoardListService" />




7. BoardController.java에 아래 소스코드 추가 합니다. 

private BoardListService boardListService;
@Autowired
public BoardController(BoardListService boardListService) {
this.boardListService=boardListService;
}//생성자

8. src/main/java에 package 및 class 생성 및 list() 메서드 추가

패키지 명 : com.spring.board.dao

클레스 명 : BoardDao


9. board.xml에 아래 소스코드를 추가 합니다.

<bean class="com.spring.board.dao.BoardDao" />



10. BoardController.java에 있는 list() 메서드 아래 소스코드로 수정

@RequestMapping("/list.do")
public String list(Model model) {
model.addAttribute("list",boardListService.service());
return "list";
}//method list()

11. BoardListService.java 아래 소스코드로 수정 합니다.

public class BoardListService {

private BoardDao boardDao;
@Autowired
public void setBoardDao(BoardDao boardDao) {
this.boardDao=boardDao;
}//method setBoardDao()
public List<Board> service(){
return boardDao.list();
}//method service();
}//class BoardListService





12. BoardDao.java 아래 소스코드로 수정 합니다.

package com.spring.board.dao;
import java.util.List;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import com.spring.board.model.Board;
public class BoardDao {
private SqlSessionTemplate sqlSessionTemplate;
@Autowired
public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
this.sqlSessionTemplate = sqlSessionTemplate;
}//method sqlSessionTemplate()
public List<Board> list() {
return sqlSessionTemplate.selectList("dao.Board.list");
}//method list()
}//class BoardDao













13. src/main/resources/mybatis 폴더에 boardDao.xml 파일 생성


14. boardDao.xml 파일에 아래 소스코드 추가 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.Board">
<!-- resultType은 select 할때만 사용 -->
<select id="list" resultType="com.spring.board.model.Board">
select no,title,writer,wdate,hit
from board
</select>
</mapper>







15. spring-mvc.xml 파일에 아래 소스코드 추가 합니다.

<!-- connection이 있는 dataResouce를 bean으로 등록 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="user" value="test01" />
<property name="password" value="test01" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations">
<list>
<value>classpath:/mybatis/boardDao.xml</value>
</list>
</property>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
<constructor-arg ref="sqlSessionFactory" />
</bean>













16. src/main/webapp/WEB-INF/view 폴더에 있는 

     list.jsp 파일 아래 소스코드로 수정 합니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
리스트 페이지 입니다.
<table>
<tr>
<th>글번호</th>
<th>제목</th>
<th>작성자</th>
<th>작성일</th>
<th>조회수</th>
</tr>
<c:forEach var="board" items="${list}">
<tr class="dataTr">
<td id="no">${board.no}</td>
<td id="no">${board.title}</td>
<td id="no">${board.writer}</td>
<td id="no">${board.wdate}</td>
<td id="no">${board.hit}</td>
</tr>
</c:forEach>
</table>
</body>
</html>





















17. 서버(tomcat) 실행 후 http://localhost/board/list.do URL로 접속




<끝>

Posted by 홍이홍이
,


8. src/main/webapp/WEB-INF 아래 view 폴더 생성 ->

src/main/webapp/WEB-INF/view 아래 board 폴더 생성 합니다.

board 폴더에 list.jsp / writeForm.jsp /

view.jsp / updateForm.jsp 파일 생성 합니다.


9. BoardController.java에 메서드 생성


























































































































package com.spring.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class BoardController {
@RequestMapping("/list.do")
public String list() {
return "list";
}//list()
@RequestMapping("/write.do")
public String writeForm() {
return "writeForm";
}//writeForm()
@RequestMapping("/view.do")
public String view() {
return "view";
}//view()
@RequestMapping("/update.do")
public String updateForm() {
return "updateForm";
}//updateForm()
}//class BoardController
list() / writeForm() / view() / updateForm()


































10. 서버(tomcat) start 후 위 RequestMapping 한 URL로 접속




















<끝>


Posted by 홍이홍이
,


1. spring-mvc.xml 아래 코드로 수정 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="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
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- @Controller 어노테이션을 이용한 컨트롤러를 사용하기 위한 설정 -->
<mvc:annotation-driven />
<!-- DispatcherServlet의 매핑 경로를 "/"로 주었을때, JSP/HTML/CSS 등을 올바르게 처리 하기 위한
설정 -->
<mvc:default-servlet-handler />
<!-- prefix="/WEB-INF/view/"은 forward 시킬때 "board/list.jsp" 라고 입력을 하면 실제적으로는
"/WEB-INF/view/board/list.jsp" 가 된다. suffix=".jsp" 로 지정하면 "board/list" 만
입력을 하면 실제적으로는 "board/list.jsp" 가 된다. prefix는 앞에 내용을 붙이는 것이고 suffix는 뒤쪽에 내용을
붙이는 것이다. -->
<mvc:view-resolvers>
<mvc:jsp prefix="/WEB-INF/view/" suffix=".jsp" />
</mvc:view-resolvers>
<!-- 자동 DI 적용 -->
<context:annotation-config />

</beans>
2. src/main/resources 우클릭 -> new -> Folder 선택











3. resources 선택 -> 폴더명 : mybaits 으로 생성 합니다




4. src/main/resources/mybatis 폴더에

boardDao.xml 파일 생성 합니다.



5. src/main/java 우클릭 -> new -> Class 선택하여 생성 합니다.


Package 명 : com.spring.board.controller

Class명 : BoardController



6. BoardController.java 아래 코드 작성

package com.spring.board.controller;
import org.springframework.stereotype.Controller;
@Controller
public class BoardController {

}//class BoardController


7. board.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="com.spring.board.controller.BoardController" />
</beans>


Posted by 홍이홍이
,


1. web.xml에서 dispatcher 설정 및 Filter를 이용하여 한글처리를 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-mvc.xml
classpath:board.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>















2. src/main/resources에서 하위 폴더에 web.xml에서 설정한 

   spring-mvc.xml / board.xml 파일 생성 합니다.



3. board.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

4. spring-mvc.xml에 아래 코드 작성 합니다.


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="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
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
</beans>



<끝>



Posted by 홍이홍이
,

File -> New -> Maven Project 선택 합니다.



기본 workspace 경로에 프로젝트 생성 체크 후 다음 선택 합니다.



맨 아래 Artifact Id: maven-archetype-webapp 선택



Group Id - 보통 자바 패키지 처럼 사용

Artifact Id - 프로젝트를 나타내는 유일한 이름



pom.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
27
28
29
30
31
32
33
34
35
36
37
38
<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.spring</groupId>
  <artifactId>board</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>board Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-version>4.1.0.RELEASE</spring-version>
    </properties>
    
  <build>
    <finalName>board</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>${project.build.sourceEncoding}</encoding>
            </configuration>
        </plugin>
    </plugins>
    </build>
 
    <repositories>
        <repository>
            <id>codelds</id>
            <url>https://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
    </repositories>
cs


src/main/webapp -> WEB-INF -> web.xml 

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


프로젝트 우클릭 -> Properties



좌측 Java Bulid Path 선택

missing이 적혀 있는 폴더를 Remove 해줍니다.



1. Add Folder 선택

2. main 폴더 클릭

3. Create New Folder 선택 하여 java 폴더 생성

4. webapp 체크박스 선택


좌측 Project Facets 선택

Dynamic Web Module 3.1버전으로 수정

체크 박스를 풀면 Apply 선택 가능하게 됩니다.



좌측 Deployment Assembly 선택

/src/main/webapp -> Deploy Path를 "/" 로 변경



프로젝트 우클릭 -> Maven -> Update Maven Project 선택 

or 단축키 : ALT + f5


해당 프로젝트 선택



<끝>



Posted by 홍이홍이
,

https://spring.io/tools/sts/all 경로에서

본인의 OS에 맞는 파일 다운로드 합니다.

다운로드 한 파일을 그대로 압축을 풀면 

파일명이 길다고 오류가 발생 합니다.



그상태로 

sts-bundle\sts-3.9.2.RELEASE\sts.exe 

파일을 실행을 하면 플러그인 오류가 발생 합니다



압축을 풀기 전 파일명을 간단하게 변경 후 압축을 풀고

sts-bundle\sts-3.9.2.RELEASE\sts.exe 

파일을 실행 하면 오류 없이 실행이 됩니다.




<끝>



Posted by 홍이홍이
,