web.xml에서 dispatcher-servlet.xml 경로를 잡아준다.
1
2
3
4
5
6
7
8
9
|
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/도메인명/springmvc/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
|
cs |
context-common.xml 에서 base-package 경로를 잡아준다.
1
2
3
4
|
<context:component-scan base-package="여기에 패키지 경로">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
|
cs |
겸사겸사 아래에 있는 messageSource라는 id를 가진 bean도 함께 바꿔준다.
resource 이하에 존재하는 message 관련 설정이다. resource 이하 폴더명도 같이 바꿔주면 됨.
그럼 이제 javax.servlet.jsp.JspTagException: No message found under code 'image.errorBg' for locale 'ko_KR'.라는 에러가 뜬다... 폴더명과 경로만 바꿨을 뿐인데 어째서 ...
ko파일은 존재하길래 아예 localeResolver 디폴트를 ko로 고정하도록 했다.
1
2
3
|
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" >
<property name="defaultLocale" value="ko" />
</bean>
|
cs |
그럼 이제 javax.servlet.jsp.JspTagException: No message found under code 'image.errorBg' for locale 'ko'. 가 뜬다.
왜 파일이 있는데 읽지를 못하니...
궁금해서 하단에 있는 localeChangeInterceptor를 주석처리해봤는데, 이 친구가 주석처리되면 기존의 ko_KR 에러가 뜬다.
1
2
3
4
|
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:여기를 바꿔주자/spring/context-*.xml</param-value>
</context-param>
|
cs |
No message found under code 'image.errorBg' for locale 'ko'. 오류로 서치해봐도 별다른게 보이지 않아서 검색단어를 변경해봤다. locale 변경 전자정부 프레임워크 locale 어쩌구 ... 하다가 그냥 web.xml 구경하는데 저 부분이 뭔가 바꿔줘야할것같길래 바꿨다.
그랬더니 이제는
class path resource [egovframework/sqlmap/example/sql-mapper-config.xml] cannot be opened because it does not exist
sql-mapper-config.xml을 못 찾겠다고 난리가 났다.
context-mapper.xml로 들어가면 디비레이어 셋업이 있다.
1
2
3
4
5
6
|
<!-- SqlSession setup for MyBatis Database Layer -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/여기/sqlmap/example/sql-mapper-config.xml" />
<property name="mapperLocations" value="classpath:/여기/sqlmap/example/mappers/*.xml" />
</bean>
|
cs |
경로를 바꿔줬따.
context-sqlMap.xml에 들어가면 데이터베이스 레이어가 하나 더 있따.
1
2
3
4
5
|
<!-- SqlMap setup for iBATIS Database Layer -->
<bean id="sqlMapClient" class="egovframework.rte.psl.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:/여기/sqlmap/example/sql-map-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
|
cs |
이 친구도 바꿔줬다.
그리고 마지막으로 sql-map-config.xml에 들어가서 소스 경로를 또 수정해 주도록 하자.
1
2
3
4
|
<sqlMapConfig>
<sqlMap resource="여기/sqlmap/example/sample/EgovSample_Sample_SQL.xml"/>
</sqlMapConfig>
|
cs |
다 됐다.
그럼 이제 또 다른 에러가 뜬다.
\spring\context-validator.xml]: Cannot resolve reference to bean 'validatorFactory' while setting bean property 'validatorFactory'; nested exception is org.springframework.beans.factory.BeanCreationException:
context-validator.xml에서 validatorFactory의 경로를 수정해주면 된다.
1
2
3
4
5
6
7
8
|
<bean id="validatorFactory" class="org.springmodules.validation.commons.DefaultValidatorFactory">
<property name="validationConfigLocations">
<list>
<value>/WEB-INF/config/여기/validator/validator-rules.xml</value>
<value>/WEB-INF/config/여기/validator/validator.xml</value>
</list>
</property>
</bean>
|
cs |
이렇게 끝인줄 알았는데 ...
Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'image.errorBg' for locale 'ko_KR'.
이 에러로 다시 돌아왔다.
맨 상단에는 2022-09-16 14:21:20,914 WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI [/egovSampleList.do] in DispatcherServlet with name 'action' 이 것도 뜬다. 왜 뜨지?
대체 오ㅔ ... ? 전자정부프레임워크 설정하기 진짜 지친다... 내가 몰라서 그런거겠지 잘해지면 편하겠찌... 하아 ,,,
일단 프로젝트 내부 텍스트 중 egovframework가 들어가는 경로의 모든 텍스트를 바꿨다.
그랬더니 이번엔 No message found under code 'error.properties.initialize.reason' for locale 'ko_KR'.가 뜬다.
어쨌든 저 메시지를 못 찾고 있는건 맞는데... 대체 어디가 문제인지 찾을수가 없는 상황에 봉착.
아 ... 원인을 찾았다. 내가 바보같이 무지성으로 경로바꾼다고 죄다 바꿔놔서 그런 거였다.
1
2
3
4
5
6
7
8
9
10
11
12
|
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:/여기만바꿨어야했음/message/message-common</value>
<value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value>
<value>classpath:/egovframework/rte/fdl/property/messages/properties</value>
</list>
</property>
<property name="cacheSeconds">
<value>60</value>
</property>
</bean>
|
cs |
rte이하는 egovframework 안에 있어야 한다.
근데 이제 에러는 안 뜨는데, 페이지에 접근이 안 된다.
2022-09-16 14:41:51,298 WARN [org.springframework.web.servlet.PageNotFound]
No mapping found for HTTP request with URI [/egovSampleList.do] in DispatcherServlet with name 'action'
컨트롤러에 어노테이션은 제대로 걸려있는 상태임.
dispatcher-servlet.xml을 가서 봤더니 base-package가 다르게 되어있었다 ^_^ ... 젠장...
길고 긴 여정이 끝났다... 행복하다...
'개발공부 > 개발하다_발견함' 카테고리의 다른 글
오프라인 폐쇄망 가상화 서버에서 아파치 톰캣 mysql 소스설치 (0) | 2022.12.16 |
---|---|
터미널로 자바 컴파일해서 실행해보기 (0) | 2022.09.19 |
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details. (0) | 2022.09.14 |
IntelliJ에서 메이븐(maven) 프로젝트를 git clone 했는데 pom.xml 이 있음에도 maven project로 인식하지 못할 경우 (0) | 2022.09.09 |
mysql 활용하기 (0) | 2022.09.05 |
댓글