본문 바로가기

BE/Spring

[Spring] 인코딩 설정, 포트 에러, Context 에러(경로 충돌 에러), 경로 설정, Controller

 
 
 
 
 

인코딩 설정, 포트 에러, 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