10장 모델2 게시판에서 form 태그에서 enctype="multi~" 지정시, 서블릿 매핑 문제
10장 게시판 예제를 하고 있는데, 물론 그대로 하니 잘 됩니다.
여기에 언급안해주신 파일 업로드 기능을 첨부해서 연습을 하려니 쉽지 않네요.
우선 request 객체를 write.doWrite() 메소드 호출 구조때문에 빈즈로 넘기려고 write.doWrite(request); 로 바꾸고 빈즈 BbsWriteHandler 클래스에서 doWrite() { }를 doWrite(javax.servlet.http.HttpServletRequest request) { } 로 바꾸고 나름대로 소스를 짜보았습니다.
그리고 write.jsp (글쓰기 폼) 에서
<form name="f1" method="post" onSubmit="return checkValue(this)" action="<c:url value="/bbs"/>">
<input type="hidden" name="cpage" value="<c:out value="${param.cpage}"/>">
<input type="hidden" name="act" value="<c:out value="${param.act}"/>">
...
</form>
을
<form name="f1" method="post" enctype="multipart/form-data" onSubmit="return checkValue(this)" action="<c:url value="/bbs"/>">
<input type="hidden" name="cpage" value="<c:out value="${param.cpage}"/>">
<input type="hidden" name="act" value="<c:out value="${param.act}"/>">
...
</form>
로 바꾸었는데 결론은 서블릿 매핑 즉, /bbs?act=${param.act} 이 param.act 를 못불러와서 Exception이 발생합니다.
form 태그에서 enctype="multipart/form-data"를 작성 시, 10장 예제의 서블릿매핑방법으로 다음 url을 결정짓는 것을 못써먹는 것인지, 혹시 해결방법이 있다면 무엇이 있는지 알려주셨으면 감사하겠습니다.^^