늑대와 향신료는 시즌이 2개로 구성되어있는 경제물 속에서 피어나는 로맨스를 담은 애니입니다.
주인공 로렌스는 늑대의 화신인 '호로'를 자신의 마차에서 발견하게 되고, 어쩌다보니 같이 다니게 됩니다.
로렌스는 물건을 되파는 상인이기 때문에 여러 마을을 다니며 장사를 합니다. 상인들의 거래에는 거짓, 사기, 물가, 정치 등 따져야 할 요소가 매우 많습니다. 호로는 화신인 만큼 오래 살아오며 여러 장사꾼들을 만났습니다. 그렇기에 로렌스가 거래중 정보 부족으로 혼란스러워할때 마다, 팁을 주거나 큰 이득을 보도록 감초를 치곤 합니다. 그 덕분에 로렌스도 군말없이 호로를 데리고 여행을 다닙니다.
📖 후기
저는 속았습니다. 늑대와 향신료가 설렌다는 말도 많이 들었고, 많은 애니 소개와 표지를 이미지를 봤을때 로맨스 80% 경제물 20%정도의 애니인줄 알았습니다. 실제로는 경제물 80%, 로맨스 20%정도입니다. 그런데도 제가 애니를 전부 볼 수 있었던 이유는.. 호로의 미모와 로렌스의 목소리 때문입니다.
정말 너무 이쁩니다. 솔직히 작화가 좋은편은 아닙니다. 그래도 호로를 그릴때 만큼은 정성들여서 그렸다고 생각합니다. 호로가 아니였으면 이 애니 끝까지 못봤습니다.
일단 호로의 성격 자체가 너무 사랑스럽습니다. 자신감 넘치는 모습으로 많은 일들을 해쳐나가는것을 보면 기대고 싶어지기도 하고, 우울해하거나 힘들어하는 모습을 보면 지켜주고 싶은 느낌이 듭니다.
로렌스와의 케미도 빠질 수 없습니다. 늑대와 향신료는 썸타는 간질거리는 느낌보다는 부부관계의 신뢰와 믿음, 안정감 등의 분위기를 더 많이 냅니다. 그래서 그런지 연애관련으로 열불나고 속터지는 장면은 많이 나오지 않아서 좋았습니다. 2기에서 이런 부분이 조금은 존재하는데, 호로의 성격을 잘 파악하셨다면 재밌게 볼 수 있을겁니다.
주인공 로렌스도 제가 이 애니를 끝까지 보게 만든 원인 중 하나입니다. 솔직히 말해서 중년 그 이상의 아저씨 기운을 내뿜고있는 로렌스의 외형은 그닥 취향이 아니였습니다.
외형은 매우 아쉽지만 늑대와 향신료에서 이런 고급 성우분을 데려올 줄 몰랐습니다. 무려 "후쿠야마 쥰" 입니다. 코드기어스 - 를르슈, 암살교실 - 살선생, 흑집사 - 그렐, 중2코이 - 토가시 유타 등 매우 유명한 작품들의 주연으로도 나오고 특이한 캐릭터도 잘 소화하는 성우입니다. 제가 가장 좋아하는 성우이기도 합니다.
호로 덕분에 눈이 즐겁고 로렌스 덕분에 귀가 즐거운 애니였습니다.
결말은 조금 아쉬웠습니다. 3기가 나올지 모르겠는데 2기 마무리 자체도 대충 마무리 지은 느낌이 있습니다. 1기 마무리도 솔직히 시원하지 않았는데, 2기 마무리도 비슷한 느낌으로 끝나서 많이 아쉽습니다. 항상 드는 생각이지만 모든 작품은 마무리가 참 중요하다고 생각합니다.
넷플릭스에 스즈미야 하루히를 검색해보면 스즈미야 하루히의 우울 2가지, 스즈미야 하루히의 소실을 볼 수 있습니다.
스즈미야 하루히의 우울 2가지가 1기와 2기로 나뉘는데, 저는 모두 봤습니다.
솔직히 말해서 1기는 스토리가 매우 뒤죽박죽 섞여있습니다. 시간 순서대로 보는 방법을 검색해서 봐야할 정도입니다. 시작부터(1기 1화) 바니걸 코스프레를 한 여자가 나와서 시장을 돌아다니고 메이드복을 입고 전투를 하고 초능력을 가진 남자주인공과 사랑에 빠지는 느낌으로 나오면서, 20분동안 나레이션이 계속해서 나옵니다. 저는 이게 도대체 뭐하는 애니인지 알 수 없었습니다.
사실 이 장면이 부원들끼리 찍은 영화 장면입니다. 이것도 1화 끝나자마자 나오는 내용이라 아셔도 문제 없습니다.. 저는 이 부원들이 누구인지도 모르고 갑자기 축제를 하고있고, 다음 화에서는 주인공과의 첫 만남이 시작되는데 또 그 다음에는 갑자기 모르는 캐릭터들이 부원으로 자리를 잡고있고, 스토리 순서가 답이 없습니다.
검색해서 순서대로 보는 것도 괜찮은 방법이지만 저는 1기를 스킵하고 2기부터 보는 것을 추천드립니다.
분명 1기를 보지 않아도 괜찮은가..? 라는 생각을 하시겠죠... 네 안봐도 됩니다. 그냥 안봐도 이해가 가능하다 -- 라는 말이 아니라 1기 내용이 2기에 완전히 동일하게 포함되어있기 때문에 보지 않으셔도 됩니다. 그나마 2기는 스토리 진행 순서대로 나열되어있어서 1기를 안보고 2기를 보는것이 좋다고 생각합니다.
저는 1기를 다 보고 2기를 틀었는데 동일한 내용이 진행되길래 2화, 3화 ... 7화를 모두 넘기고 8화에 도착한 순간 처음보는 내용의 회차가 나왔습니다. 정말 충격적이였습니다. 심지어 8화가 끝나고 9화부터 다시 1기의 내용이 나오기 시작했습니다. 그렇게 9화, 10화, 11화까지 1기의 내용이 나왔습니다. 이후에는 그나마 스즈미야 하루히의 우울의 중심인 타임루프가 나오기 시작했는데, 계속 반복되는 타임루프물이 8회차나 지속되었습니다. 그 이후에는 1기 1화에서 나오던 영화를 찍는것에 대한 내용과 1기 내용이 또 동일하게 나옵니다.
결론 : 2기만 보세요
📖 후기
'스즈미야 하루히의 우울 소개' 라고 적어두고 여러가지 하소연을 작성한듯 합니다.
그래도 재밌었으니까 저 어이없는 상황에서도 정주행한게 아닌가 싶습니다.
캐릭터들의 외형, 성격, 컨셉 모두 남다르고 재밌었습니다. 제 입장으로는 하루히를 제외한 히로인들이 모두 취향이여서 참 즐거웠습니다. 하루히는 외형도 제 취향이 아니지만, 인성문제로 제 마음속에서 탈락시켰습니다.
특히 안경소녀와 갈색머리 언니중 누가 원픽인지에 대해 많은 고민이 있었지만 결국 안경소녀를 선택했습니다. 외형만 보면 절대로 선택할 수 없는데 말이죠.. 실제로도 스즈미야 하루히 캐릭터 인기투표중 1위가 저 안경소녀입니다. 자세한건 애니를 보면 아실수 있습니다만, 정말 매력적인 캐릭터입니다 ^^
갈색머리 언니는 '스즈미야 하루히의 우울'에서 서비스씬을 담당하고 있습니다. 네 그렇습니다 : )
이 두 장면은 하루히의 인성을 제대로 볼 수 있는 장면입니다. 왼쪽 장면을 보면서도 어이가 없겠지만, 오른쪽 장면은 정말 선을 넘었습니다. 츤데레 캐릭터라 뭔가 안쓰럽고 미운정도 있긴 하지만, 제 머릿속의 '스즈미야 하루히'는 큐베보다도 더 한 놈이라고 생각합니다.
그래도 전체적인 애니 스토리는 매우 참신하고 여러가지 에피소드들도 나오면서 가끔 혈압도 많이 오르지만 시간가는줄 모르고 봤습니다. 심지어 반복되는 타임루프 8회차를 아무생각없이 본걸 보면.. 그래도 볼만했던거 아닐까요? 여러분들은 8회차 전부 보지말고 시간 아끼세요.
하고싶은 말은 많은데 더 말하면 스포가 될 것 같네요. 아무튼 1기는 절대 안보셨으면 하고, 2기부터 보시는데.. 타임루프 부분은 어느정도 건너뛰어도 괜찮다고 말씀드리고 싶었습니다!
<input type="file" name="image">와 같이 type을 file로 지정한다.
버튼을 클릭하면 action.jsp로 이동한다. (action.jsp에서 사진 업로드 처리)
action.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.oreilly.servlet.MultipartRequest" %> <!-- request 대신 -->
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy" %> <!-- 파일이름 중복을 피할 수 있도록 -->
<%
// 웹 프로젝트 위치에 넣어도 된다 (이클립스에서 사진 추가되는 것을 실시간으로 확인 가능)
// MultipartRequest mr = new MultipartRequest(request, "C:/Users/fjdks/Desktop/erp/WebContent/image", 1024*1024*1024, "utf-8", new DefaultFileRenamePolicy());
MultipartRequest mr = new MultipartRequest(request, request.getRealPath("/image"), 1024*1024*1024, "utf-8", new DefaultFileRenamePolicy());
System.out.println("저장되는 경로(실제 서버) : "+request.getRealPath("/image"));
String fileName = mr.getFilesystemName("image");
System.out.println("사진 이름 : "+fileName);
%>
MultipartRequest를 통해 사진을 저장한다. (웹 프로젝트 위치 or 서버 위치)
request.getRealPath()로 실제 서버 위치에 접근할 수 있다.
(이클립스에서는 사진이 추가되는 것이 보이지 않는다. 웹 프로젝트 위치로 접근하면 사진이 추가되는 것을 실시간으로 확인할 수 있다)
form.jsp에서 enctype="multipart/form-data"으로 받아왔기 때문에, request.getParameter()를 사용할 수 없다.
파일명은 mr.getFilesystemName()을 사용하여 받고, 일반적인 값은 mr.getParameter()를 통해 받아온다.
* request.getRealPath("/image")가 작동되도록 WebContent 아래에 image 파일을 생성했다 *
📂 이전 파일 삭제
action.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.oreilly.servlet.MultipartRequest" %> <!-- request 대신 -->
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy" %> <!-- 파일이름 중복을 피할 수 있도록 -->
<%@ page import="java.io.File" %>
<%
// 이렇게 원하는 위치를 직접 넣어도 되긴 함(프로젝트 파일에 실시간으로 추가되는거 볼 수 있음 ㅋㅋ)
// MultipartRequest mr = new MultipartRequest(request, "C:/Users/fjdks/Desktop/erp/WebContent/image", 1024*1024*1024, "utf-8", new DefaultFileRenamePolicy());
MultipartRequest mr = new MultipartRequest(request, request.getRealPath("/image"), 1024*1024*1024, "utf-8", new DefaultFileRenamePolicy());
System.out.println("저장되는 경로(실제 서버) : "+request.getRealPath("/image"));
String fileName = mr.getFilesystemName("image");
System.out.println("저장된 사진 이름 : "+fileName);
// 실제로는 이전 사진 이름을 DB에서 불러온다
String beforeImg = "fullmetalAlchemist.PNG";
// 이전 사진명을 통해 실제로 삭제될 사진을 가져온다
String deleteImgName = request.getRealPath("/image/") + beforeImg;
File deleteImg = new File (deleteImgName);
// 이전 사진이 경로에 존재한다면 삭제한다
if (deleteImg.exists() && deleteImg.isFile()){
deleteImg.delete();// 사진 삭제
System.out.println("삭제된 이전 사진 : "+beforeImg);
}
%>
임시로 이전 사진의 이름을 "fullmetalAlchemist.PNG"로 설정하였지만 실제로는 DB에서 값을 받아와야 한다.
경로 + 사진 이름까지 담겨진 deleteImgName 변수를 File 형태로 만든다.
만약 deleteImg의 경로에 파일이 존재하고 deleteImg가 파일이라면, 해당 사진(이전 사진)을 삭제한다.