달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2011. 9. 14. 21:21

getServletContext() Study/WEB2011. 9. 14. 21:21

원래 이거 그냥 써도 되었던거 같은데... Spring에서는 메소드 자체를 인식 못하는거 같았다. 그래서 session으로 만들어둠

session.getServletContext().getRealPath("/images/") 

사용용도는 현재 servlet의 절대경로를 구해서 이미지 사용하려고...
:
Posted by 유쾌한순례자
1) maven 설치

http://maven.apache.org 에서 다운 받아 압축을 풀고 PATH를 잡아줌

2) maven 설치 여부 확인

cmd - > mvn -version

제대로 나오면 설치 OK.

3) webapp 로 maven 프로젝트 생성 후 pom.xml 설정

pom.xml 에서 사용할 라이브러리들을 셋팅함 (더보기 내용은 pom.xml에서 생긴 오류들)


4) webapp -> web-inf -> web.xml 에 세팅을 시작함

maven에서는 webcontent - > web-inf 에 셋팅하는게 아니라 저 위에 적어둔 곳 에서 함

5) 전부 셋팅을 마치고 hello maven 출력

테스트 완료!  
:
Posted by 유쾌한순례자
2011. 9. 1. 15:44

maven (pom.xml) 에 ojdbc 14 추가하기 Study/WEB2011. 9. 1. 15:44

저장소를 추가해줘야한다 

<repositories>
  <repository>
    <id>mesir-repo</id>
    <url>http://mesir.googlecode.com/svn/trunk/mavenrepo</url>
  </repository>
</repositories>

 

  <dependency>
      <groupId>com.oracle</groupId>
      <artifactId>ojdbc14</artifactId>
      <version>10.2.0.4.0</version>
    </dependency>
:
Posted by 유쾌한순례자
급식신청시스템을 완성하고 베타 테스트를 끝내고 본격적으로 운영에 들어갔다.

3~4일 잘 운영되고 있었는데 어느 날 한 분에게 전화가 왔다.

분명 신청했는데 자신의 이름이 명단에 빠져서 식사를 못했다는 것이었다.

문의에 대해서 접수를 하고 확인하기 시작했다.

for문으로 10000번 돌려서 신청하게도 해보고 다른 pc들에서도 신청하게 해보았는데 아무런 문제가 없었다.

단순 실수였겠거니 하였는데 가끔씩 누락된다고 하는 분들이 발생하였고 오차 돈이 커지면서 문제가 될 소지가 있었다.

일단 급식신청시스템을 1주일간 중단하고 원인에 대해서 분석하기 시작했다.

확인결과 a라는 사람과 b라는 사람이 동시에 신청하게 되면 a라는 사람만 신청이 되는 것이었다.

신청 부분을 동기화로 처리한 뒤 재운영을 하였다.

현재까지는 문제점이 발생되지 않는다.(약 6개월) 이것으로 해결이 된 건지는 아직 불명확하지만 거의 해결이라고 봐도

될 것 같다.
:
Posted by 유쾌한순례자
2010. 11. 11. 07:36

겪었던 오류(Already closed 오류) Study/WEB2010. 11. 11. 07:36

프로젝트를 완성하고 이제 운영서버 반영하여 최종적으로 사용자 베타 테스트 만 남았다.

3~4시간 주기로 java.sql.SQLException: Already closed. 라는 오류가 발생하면서 톰켓이 죽어버렸다.

톰켓을 재시작하면 다시 되기는 하지만 또 3~4시간 뒤에 저 오류가 발생하면서 죽었다.

알고 보니 DBCP를 사용하는데 이미 끊어진 connection을 애플리케이션이 이걸 사용하려다가

발생한 오류였다.

간단하게 해당 connection이 살아있는지 확인하면 된다.

<!-- Mysql (홈페이지 DB서버 연결 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/virus" />
<property name="username" value="manUser" />
<property name="password" value="********" />
<!-- connection이 살아 있는지 확인 -->
<property name="validationQuery" value="select 1" />
</bean>




:
Posted by 유쾌한순례자
홈페이지 서버가 자꾸 죽어버려서 확인.

확인결과 특정부분에서 계속 읽어지는 것을 확인하였고 소스를 보니

while(1){

      쿼리;
      continue;
}

개발일을 시작한지 일주일밖에 안되신분께서 이렇게 해놓으셨다.

개발자 PC에서 할때야 한명이서 보니깐 부하가 덜 걸려도

홈페이지에서는 약 평균접속자수가 4000명 정도 되는 홈페이지니까 말 다했다.

어쨌든 수정하고 설명하고 귀환.
:
Posted by 유쾌한순례자
2010. 11. 9. 11:59

겪었던 오류 (too many connections) Study/WEB2010. 11. 9. 11:59

mysql에서 max_connections의 default 값은 100으로 설정되어있다.

어느날 홈페이지에서 계속 too many connections 가 발생한다고 하여 가보았더니 max_connections가 10으로 설정되어 있었다. 

connections 수를 200으로
wait_timeout을 100으로 했더니 문제없이 잘 사용되고 있다.

 

 


:
Posted by 유쾌한순례자
2010. 6. 26. 01:18

Blog처럼 만들어주기. Study/WEB2010. 6. 26. 01:18

기존에는 조직도가 이미지로 되어있고 개별 부서의 페이지를 전산팀에서 직접해주었는데 이번에 통합프레임워크를 추진하면서 이번 기회에 이것도 고치자 하여 시작한 일명 blog 프로젝트!!
생각은 꽤나 어려울 것 같았는데.. 생각보다 무진장 쉽게했다.
위치값을 정하여 Database에 집어넣어주면 땡..-..-; 그 다음 관리자 아이디를 가진 사람이 수정 할 수 있게 해주면 되니까.
다만 표를 깔끔하게 만드는게 어려울 뿐.. oㅅo
뭐 나야 구동되게 해주고 원하는 기능 구현해주면 다른 사람이 알아서 디자인 해주니까 편하긴하다.

:
Posted by 유쾌한순례자