[질문] JSP로 웹사이트를 개발중인데 업로드한 파일을 인식을 못

budle77의 이미지

제가 잘 몰라서 아주 초보적인 질문을 하느걸지도 모르겠습니다. 허접한거 질문했다고 구박하지 마시구요.

JSP + Oracle9i + SunOS 5.8 환경에서 웹사이트를 만들고 있습니다. 갖가지 문제가 발생하고 있지만, 가장 시급한것부터 여쭤보려고 합니다.

1. 제목처럼 제가 업로드한 파일을 인식을 못하는 경우가 있습니다.
어떤식이냐하면 기존의 파일의 이름을 바꿔서 백업해놓고 새 파일을 업로드합니다. 그리고 텔넷으로 접속해서 소스 내용한번 확인한 다음에 브라우저에서 해당 페이지로 들어가는 링크를 클릭하면, "페이지를 찾을수 없습니다."라는 오류가 뜹니다.

2. 분명히 파일을 업로드했고, 소스도 바꿔져있는데 화면에 나타나는 내용은 변경하기 전 파일의 내용일 경우가 자주 발생합니다.

3. classpath에 분명히 .jar 파일 경로가 들어있는데, 임포트하면 없다고 오류메세지가 뜹니다. 프로파일(.cshrc 파일) 외에 Tomcat에서 classpath를 설정해줘야하는 곳이 또 있나요?

정말 미칩니다. 이런 현상이 생긴다고 말해도 회사내에서는 도와주시는 분이 없습니다. 저에게는 단지 미치도록 신기하고 짜증나는 일인데, 어디다 물어볼데가 없습니다. 고수분들의 도움이 절실히 필요합니다. 읽어주셔서 감사합니다.

익명 사용자의 이미지

저도 잘 모릅니다만..제가 JSP공부할때 겪은 경험을 토대로 답글을 답니다.

1.
어떤 웹서버를 사용하는지 일단 확인해봐야겠네요
apache연동 안하고.. 그냥 apache tomcat쓰신다면 종종그런경우가 있더라구요..

2.
아마 그럴겁니다 reloadable = true로 바꿔주셨나요?
server.xml안에 있을겁니다.

3.
WEB-INF/classes/[package]

대소문자 가려서 이렇게 들어가죠?

fender의 이미지

어떤 버전의 탐캣을 쓰시는 지는 모르지만 탐캣의 conf/web.xml에 보시면 development와 reloading 관련 옵션이 있습니다. 보통 개발할 때와 서비스할 때를 나누어서 서비스할 때는 jsp가 변경되도 이미 컴파일된 내용으로 서비스하는 식으로 설정합니다.

3번에 대한 부분은... 음... 항상 강조하지만 CLASSPATH 환경변수는 잡지 않는 것이 좋습니다. 웹개발에서 어떻게 클래스로딩을 처리하는 지, 그리고 '웹어플리케이션'이 무엇인지에 대해서는 아무리 프로젝트가 바쁘시더라도 매우 중요한 부분인 만큼 한번 문서를 보고 개발에 들어가시는게 좋을 것 같군요.

정답만 말씀드리면 해당 웹어플리케이션의 WEB-INF/lib에 jar를 넣고 클래스는 WEB-INF/classes아래 패키지 구조대로 넣어야 합니다. JDBC 드라이버 같이 공통으로 쓰는 것은 탐캣의 commons/lib에 넣어도 무방합니다.

어쨌든 서블릿/JSP 스펙은 한번 읽어보시라고 권해드리고 싶네요...

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

budle77의 이미지

답변해 주셔서 감사합니다.
아직 1, 2번을 해결하지는 못 했지만 WEB-INF/lib에 jar파일을 복사하니까 클래스 못 찾는건 해결이 되었습니다.

익명 사용자의 이미지

엔진이 보통 jsp 파일을 다시 parsing 하여 servlet 파일로 변환하려고 check 하는 것은 xxxx.jsp 와 work dir 의 xxxx.java 의 time 을 체크 하여 jsp 파일이 최신이면 변환해서 compile 하는 것으로 알고 있습니다.
혹 ftp upload 때 file time 을 한번 check 해 보시는 것도 좋을듯 합니다.
혹여 include 되는 파일은 바뀌어도 특별한 option이 없는한 재 컴파일 하지 않습니다.

k2hyun의 이미지

확실히 하셨겠지만, 혹시도 모르니,

IE를 쓰신다면, 환경설정 부분에서 "페이지를 열때마다"로 바꿔주셔야
브라우져 자체 캐쉬 불러오는 것을 막으실 수 있습니다.
- 전혀 도움이 안되셔도 면박하지 말아주세요. 8) -

더 이상 없다.

budle77의 이미지

네, 전 항상 윈도우 설치하고나면 "페이지를 열때마다"로 바꿔주는게 습관입니다. I.E 설정은 그렇게 되어있는 상태이구요.

지금 가장 큰 문제는 FTP로 파일이 올라가 있는데 파일을 못 찾는 경우입니다. 왜 그런지... 정말 가슴이 답답합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.