분류 전체보기
[Java / Spring] 14. 컨트롤러 추가 및 페이지 모듈 분리
본격적으로 스프링을 이용한 MVC 형태의 웹 개발을 하기 위해 컨트롤러 몇 개를 추가해보겠다. 우선 공지사항 컨트롤러를 추가해볼텐데 static 폴더에서 notice 폴더를 살펴보면 다음과 같은 2개의 파일이 있는 것을 확인할 수 있는데, 우리는 이것을 jsp로 구현할 것이다. 그러기 위해서 먼저 view 폴더에 'notice'라는 이름으로 폴더를 생성하고 해당 폴더 안에 위 2개의 파일 이름과 동일하게 jsp 파일 2개를 생성해준다. 이후 list.html 파일의 내용을 list.jsp 파일로 복사하여 가져온다. 마찬가지로 detail.html 파일의 내용을 detail.jsp 파일로 복사하여 가져온다. 이로써 우리는 공지사항 목록을 볼 수 있는 뷰 페이지와 실질적인 글의 내용을 볼 수 있는 뷰 페이지..
[Java / Spring] 13. 정적 파일 서비스하기
jsp 파일이 아닌 이미지 파일(png, jpg, etc.)을 웹으로 띄우기 위해 해당 파일을 실행시켜보면 오류가 발생하는 것을 확인할 수 있다. 그 이유는 Dispatcher가 정적인 파일에 대한 요청을 전부 막고 있기 때문이다. 그렇다면 이미지나 css 등과 같은 정적인 파일을 출력하기 위해서는 어떻게 해야할까? 설정을 위해 dispatcher-servlet.xml 파일에 코드를 추가해주어야 한다. 우선 mvc를 지원하는 처리기를 추가하기 위해 다음과 같이 코드를 추가한다. 이로써 태그로 사용할 수 있는 요소가 늘어나게 되었다. 이제 다음과 같은 코드를 추가해준다. 위 코드의 의미는 mapping 속성에 지정된 url을 사용자가 요청하게 되면 location 속성에 지정된 경로에서 파일을 찾아 출력하..
[Java / Spring] 12. View 페이지를 위한 위치
저번 시간에 web.xml 파일의 매핑 유형을 수정하는 방식으로 문제를 해결했었는데, 이럴 경우 또다른 문제가 발생하게 된다. 컨트롤러와 뷰가 분리되어 있을 경우에는 두 개를 따로 요청할 수 있는 것이 아니라 무조건 컨트롤러만 요청할 수 있도록 해야하는데, 저번 시간처럼 할 경우 사용자가 컨트롤러를 건너뛰고 뷰를 요청해버리는 일이 발생할 수 있다. 따라서 사용자가 위처럼 뷰 페이지를 직접 요청할 수 없도록 해야하는데, 그 방법은 다음과 같다. WEB-INF 폴더는 사용자가 접근할 수 없는 영역이므로 요청 또한 막힐 것이다. 따라서 뷰 페이지를 구현한 jsp 파일을 해당 폴더 안에 집어넣음으로써 사용자의 요청을 제한할 수 있다. 파일을 숨기기 위해 WEB-INF 폴더 안에 또다른 폴더를 하나 생성한 뒤, ..
[Python] BOJ / 1987번 / 알파벳
1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 ..