인코딩 설정, 포트 에러, Context 에러, 경로 설정, Controller

Spring Legacy Project 새로 생성

 

생성된 프로젝트에서 pom.xml 파일 안의 자바와 스프링의 버전을 변경 후 저장 >> Maven Dependencies 의 버전이 변경되었는지 확인

 

javax.servlet-api

 

maven 버전 변경, java 버전도 1.8 로 변경

 

프로젝트 업데이트 진행

 

Ctrl + F11 >> Finish

 

서버가 실행되었지만 인코딩 오류로 인해 글자가 깨짐

 
▼ 인코딩 해결 코드 ▼

encodingFilter.txt
0.00MB

 

위 파일 내용 복사 후 진행

 

src > main > webapp > WEB-INF 폴더 내의 web.xml 파일에 해당 코드 붙여넣기 ( 인코딩 관련 코드 )

 

열려있던 웹 창 종료 후 프로젝트 클릭 > Ctrl + F11 클릭하여 재시작 시 한글이 깨지지 않고 정상적으로 출력됨

 
 
 
 
 


 
포트 충돌 에러가 발생하는 경우
 

서버 더블클릭 후 포트 정보를 변경

 


 
경로 충돌 에러가 발생하는 경우
 

여러 실습을 진행하면서 ex01 이라는 경로를 다른 파일에서 실행하더라도 경로가 겹쳐서 저장되게 된다, 그러므로 server.xml 에서 등록된 Context 를 주석처리해준 뒤 실행해준다

 


 
 
 
 
 

웹 브라우저 출력되는 부분을 보기 편하도록 Chrome 으로 변경 > 서버 실행 시 크롬으로 출력되는 것 확인

 

General - Workspace - Other : UTF-8 설정

 

CSS, HTML, JSP 파일 모두 인코딩 방식 UTF-8 로 설정 후 저장 종료

 

Controller 를 변경하여 default 경로를 /member 로 변경 후 접속 테스트 > 정상적으로 /member 경로로 접근할 때만 접속됨

 

테스트용으로 설정해둔 것이기 때문에 다시 돌려놓음

 

연습을 위해 MyController.java 와 jsp 파일 세개 를 폴더에 세팅

 

index.jsp 간단하게 작성

 

MyController.java 에 경로를 추가 후 서버 재실행하여 index 경로로 접속 >> 정상적으로 컨트롤러를 거쳐 웹 출력

@Controller 어노테이션 : 경로를 지정하는 클래스라는 걸 선언
@RequestMapping 어노테이션 : 경로를 설정 ( 따로 선언하지 않으면 GET 방식과 POST 방식을 모두 받을 수 있음 )
return 값에는 출력될 jsp 의 경로가 들어간다

 

@GetMapping 을 사용하여 접속

@GetMapping 어노테이션 : GET 방식의 요청을 처리

 

model 에 키와 값을 저장하여 전달 >> jsp 파일에서 키로 값을 꺼내서 사용 >> 출력

 

ModelAndView 를 사용하여 jsp 파일로 넘길 모델과 출력될 jsp 를 모두 설정 후 리턴으로 모델을 반환하여 출력

 
 
 
 
 


실습 예제

실습 예제

 

예제 풀이

예제 풀이

절대 경로로 설정하려면 /ex01/index 와 같이 설정
혹은 만약 경로가 변경될 일이 있을 수 있기 때문에 <%= request.getContextPath() %>/index 와 같이 표기하는 것이 가장 좋다
<%= request.getContextPath() %>/login
<%= request.getContextPath() %>/logout


728x90

+ Recent posts