
미션
- springwork2에서 새로 작업(새로운 workspace)
- http://127.0.0.1:8089/secondPro의 실행결과와 [Maven Dependencies]에 추가된 라이브러리 목록을 캡쳐
- jsp,js,html,css,workspace 모두 UTF-8로 변경
- external 웹 브라우저, chrome,으로 실행되도록
- 세부 버전이 적용
secondPro
com.multi.secondPro
pom.xml => 자바(1.8), 스프링(4.2.4.), 서블릿(4.0.?)
project facets(1.8/ 4.0)
서버 삭제 및 톰캣 등록
새로운 workspace 만들기 (springwork2로 작업)

server삭제(세 곳에서 모두 삭제)
: 하단 server창, package explorer(disk에서도 딜리트 체크), window-preferences-sever-runtime environment에서 리무브
package explorer창에서 spring ragacy project하고 누르면 C:\backend23\work\springwork2.metadata.sts 폴더 생성됨. (우측하단에서 뾰로롱 자동생성)
따로 제공받은 폴더 파일을 C:\backend23\work\springwork2.metadata.sts\content에 복사/붙여넣기
C:\backend23\work\springwork2.metadata.plugins\org.springsource.ide.eclipse.commons.content.core
에 제공받은 파일 붙여넣기
spring 껐다 켜기
new spring ragacy project 누르고, 이전작업으로 새로 생긴 spring MVC project 누르고 이름은 secondPro, 패키지명은 com.multi.secondPro로 줘야함! 생성하기
pom.xml 파일 열어서 자바(1.8), 스프링(4.2.4.), 서블릿(4.0.?)으로 설정(버전 맞추기)(여기서 서블릿은 메이븐 사이트의 spring api 링크 복사해서 붙여넣기함/ 이후 상단 프로젝트-클린 누르기(오류해결한거 업로드하는 느낌)

패키지에 우클- properties- project facets- 자바 1.8/ 다이나믹웹모듈 4.0으로 설정
window-preferences-web에 가서 jsp,js,html,css,workspace 모두 UTF-8로 변경
서버 등록 아파치 - 톰캣 버전 9으로 하기(위치는 톰캣 설치된 곳 위치로 : C:\Program Files\Apache Software Foundation\Tomcat 9.0)
available에서 configured로 옮기고 피니시
서버 포트넘버 체크(이클립스와 겹치지않게)

서버 스타트 안되면? window-preferences-general-web browser

baisc패키지의 NullPointException을 해결해주세요
public interface Insa {
void addUser(MemberDTO user);
MemberDTO getUser(String id);
void setDao(MemberDAO dao);
MemberDAO getDao();
}
public class InsaImpl implements Insa {
MemberDAO dao;
public InsaImpl() {
}
public InsaImpl(MemberDAO dao) {
super();
this.dao = dao;
}
public MemberDAO getDao() {
return dao;
}
public void setDao(MemberDAO dao) {
this.dao = dao;
}
@Override
public void addUser(MemberDTO user) {
dao.add(user);
}
@Override
public MemberDTO getUser(String id) {
dao.getUser("id");
return null;
}
}
public class MemberDTO {
private String id;
private String pass;
private String name;
public MemberDTO(){
}
public MemberDTO(String id, String pass, String name) {
super();
this.id = id;
this.pass = pass;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class MemberDAO {
public void add(MemberDTO user){
System.out.println("db에 insert하기");
}
public MemberDTO getUser(String id){
System.out.println("사용자정보 가져오기 - db에서 조회");
return null;
}
}
public class TestMain {
public static void main(String[] args) {
//1. setter메소드를 이용해서 멤버변수를 셋팅하기
MemberDAO dao = new MemberDAO();
// Insa insa = new InsaImpl();
// insa.setDao(dao);
//2. 생성자를 이용해서 멤버변수를 셋팅
Insa insa = new InsaImpl(dao);
MemberDTO user =
new MemberDTO("jang","1234","장동건");
insa.addUser(user);
}
}
public class MybeanStyleA {
public void testHello(String name) {
System.out.println("hello.."+name+"!!");
}
}
public class MybeanStyleB {
public void testHello2(String name) {
System.out.println("안녕하세요.."+name+"님!!");
}
}
public class MybeanTest {
public static void main(String[] args) {
MybeanStyleA obj = new MybeanStyleA();
run(obj);
show(obj);
change(obj);
}
public static void run(MybeanStyleA obj) {
System.out.println("==============");
obj.testHello("BTS");
System.out.println("==============");
}
public static void show(MybeanStyleA obj) {
obj.testHello("BTS");
obj.testHello("BTS");
obj.testHello("BTS");
obj.testHello("BTS");
obj.testHello("BTS");
}
public static void change(MybeanStyleA obj) {
System.out.println("**************");
obj.testHello("BTS");
obj.testHello("BTS");
System.out.println("**************");
}
}

app1패키지의 프로그램을 OOP특성이 적용되도록 app2에 복사한 클래스를 변경
클래스명, 메소드명, 구조... 모두 변경가능
=> 객체를 변경해도 이 객체를 활용하는 클래스나 기존의 메소드는 변경하지 않아도 잘 동작한다.
=> 그러나 객체를 사용하기 위해서 생성하는 코드는 객체가 바뀌면 변경해야한다.
public interface MyBeanStyle {
void testHello(String name);
}
public class MyBeanStyleA implements MyBeanStyle{
public void testHello(String name) {
System.out.println("hello.."+name+"!");
}
}
public class MyBeanStyleB implements MyBeanStyle{
public void testHello(String name) {
System.out.println("안녕하세요"+name+"님!");
}
}
public class MyBeanTest {
public static void main(String[] args) {
MyBeanStyle obj1 = new MyBeanStyleA();
MyBeanStyle obj2 = new MyBeanStyleB();
run(obj1);
show(obj1);
change(obj1);
run(obj2);
show(obj2);
change(obj2);
}
public static void run(MyBeanStyle obj) {
System.out.println("====================");
obj.testHello("BTS");
System.out.println("====================");
}
public static void show(MyBeanStyle obj) {
obj.testHello("BTS");
obj.testHello("BTS");
obj.testHello("BTS");
obj.testHello("BTS");
obj.testHello("BTS");
}
public static void change(MyBeanStyle obj) {
System.out.println("********************");
obj.testHello("BTS");
obj.testHello("BTS");
System.out.println("********************");
}
}

본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.