해마가 넘치기 전에...
2012년 7월 5일 목요일
Spring-BlazeDS
1. Spring-Flex-Framework
http://www.springsource.org/spring-flex
2. Maven
Group: org.codehaus.jackson
Aritiface: jackson-core-asl
3. web.xml
<servlet>
<servlet-name>SpringBlazeDS</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>scada-flex-context.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringBlazeDS</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
1.5.2.Release버전의 경우, Spring 3.1.2에서 FlexSessionManager(?) 어쨋든 무슨 오류가 난다. 따라서, snapshot 버전을 써서 해결하도록 한다.
2012년 6월 28일 목요일
Spring Security Filter
org.springframework.security.web
*.context.Security.ContextPersistenceFilter | SecurityContextRepository에서 SecurityContext를 로드하고 저장하는 일을 담당 SecurityContext는 사용자의 보호되고 인증된 세션을 의미 |
*.authentication.logout.LogoutFilter | ... |
*.authentication.UsernamePasswordAuthenticationFilter | 사용자 이름, 비밀번호로 이루어진 폼 기반 인증에 사용하는 가상 URL 요청을 감시하고 요처이 있을 때 사용자 인증을 처리 가상URL: j_spring_security_check |
*.authentication.ui.DefaultLoginPageGeneratingFilter | ... |
*.authentication.www.BasicAuthenticationFilter | ... |
*.savedrequest.RequestCacheAwareFilter | ... |
*.servletapi.SecurityContextHolderAwareRequestFilter | ... |
*.authentication.AnonymousAuthenticationFilter | ... |
*.session.SessionManagementFilter | ... |
*.access.ExceptionTranslationFilter | ... |
*.access.intercept.FilterSecurityInterceptor | ... |
Spring-Security dependency error
security를 설정하다 예기치 못한 오류로 인해 2시간을 날려 먹었다.
오류: security:http를 사용하기 위해서 spring-security.jar의 의존관계에 놓인 라이브러리를 찾지 못했다는 정도의 의미.
* maven을 이용하여 설정했기 때문에 의존관계에 놓인 누락된 jar가 도무지 무엇인지 몰라서 잘되던 project와 비교해봤지만 찾지 못했음
* 다시 살펴보니 server를 지정하지 않았었다. dynamic web module에 가서 서버를 지정하니 오류가 해결되었음..
* 내 2시간은 누가....
오류: security:http를 사용하기 위해서 spring-security.jar의 의존관계에 놓인 라이브러리를 찾지 못했다는 정도의 의미.
* maven을 이용하여 설정했기 때문에 의존관계에 놓인 누락된 jar가 도무지 무엇인지 몰라서 잘되던 project와 비교해봤지만 찾지 못했음
* 다시 살펴보니 server를 지정하지 않았었다. dynamic web module에 가서 서버를 지정하니 오류가 해결되었음..
* 내 2시간은 누가....
MAVEN-WTP-SPRING
Maven에 WTP를 설정을 하였다면 spring-framework가 가능하도록
Spring Tools -> Add Spring Project Nature
pom.xml
Properties
Create
Name: spring.version
Value: 3.1.1.RELEASE
Name: spring.security.version
Value: 3.1.0.RELEASE
Dependency
Add
Group Id: org.springframework
Artifact Id: spring-core
spring-context
spring-beans
spring-web
spring-webmvc
Version: ${spring.version}
Group Id: org.springframework.security
Artifact Id: spring-security-core
spring-security-config
spring-security-web
Version: ${spring.security.version}
maven->update project
run as -> Maven Install
Spring Tools -> Add Spring Project Nature
pom.xml
Properties
Create
Name: spring.version
Value: 3.1.1.RELEASE
Name: spring.security.version
Value: 3.1.0.RELEASE
Dependency
Add
Group Id: org.springframework
Artifact Id: spring-core
spring-context
spring-beans
spring-web
spring-webmvc
Version: ${spring.version}
Group Id: org.springframework.security
Artifact Id: spring-security-core
spring-security-config
spring-security-web
Version: ${spring.security.version}
maven->update project
run as -> Maven Install
2012년 6월 27일 수요일
Maven-WTP Project 생성 순서
Eclipse에 Maven Plugin 설치
(URL은 추후에 추가하도록 하자)
1. Maven Integration for Eclipse
- m2e - Maven Integration for Eclipse
- m2e - slf4j over logback logging (option)
2. Maven Integration for Eclipse Extras
- m2e connector for mavenarchiver pom properties
3. Maven Integration for Eclipse WTP
- Maven Integration for WTP (Optional)
4. Maven Integration for WTP
- Maven Integration for WTP
* 위에서 없어도 되는 게 있을 텐데, 하나씩 빼면서 해 볼 수도 없고
Project 생성
File -> New -> Other -> Maven -> Maven Project
New Maven project
Select project name and location
* Use default Workspace location [선택] 후
* Next
Select an Archetype
* Catalog : Internal
* Filter : webapp
선택:
Group Id: org.apache.maven.archetypes
Artifact Id: maven-archetype-webapp
* Next
Enter Artifact Id
* Group Id: hnj.webapps [project 구분 id]
* artifact id: scada [project name]
* package: [project source package]
* Finish
위의 과정을 거치면 artifact id로 넣었던 scada라는 이름의 project가 package explorer에 나타남
[pic-1][아래는 spring perspective]
[pic-2][아래는 Java EE perspective]
[pic-3][아래 Directory까지 추한한 후 Navigator로 본 구조]
Project 설정 변경
- src/main/webapps/WEB-INF/web.xml을 삭제
Project -> Project Facets
* Dynamic Web Module Check 해제 후 Apply
* 적당한 Dynamic Web Module의 버전 선택
* Dynamic Web Module Check
* 하단: Further configuration available
context root: scada [project name]
content directory: /src/main/webapp
- generation web.xml을 선택
* OK
- 추가후 compler에서 보여지는 오류가 있다면
- web-module 3.0
- java-version 1.6
을 선택 하면, java version mismatch가 나옴
- projects-properties
Java Compiler의 java 버전 맞춤
- 그래도 남는 Maven 관련 오류
"Dynamic Web Module 3.0 requires Java 1.6 or newer."
pom.xml 편집
<build>
<finalName>scada</finalName>
<!-- Dynamic Web Module 3.0 requires Java 1.6 or newer -->
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<!-- Dynamic Web Module 3.0 requires Java 1.6 or newer -->
</build>
maven update를 수행
Project에 Directory 추가
src/main/java
src/main/resources
src/test/java
src/test/resources
와 같이 디렉토리 생성
추가한 directory를 deploy항목에 추가
xml파일 편집 또는 properties에서 설정
- .settings/org.eclipse.wst.common.component를 편집
또는
- Properties -> Deployment Assembly
에 추가
.classpath를 편집하거나 properties에서 설정
- .classpath
- Properties -> Java Build Path -> Source
maven update
maven install
(URL은 추후에 추가하도록 하자)
1. Maven Integration for Eclipse
- m2e - Maven Integration for Eclipse
- m2e - slf4j over logback logging (option)
2. Maven Integration for Eclipse Extras
- m2e connector for mavenarchiver pom properties
3. Maven Integration for Eclipse WTP
- Maven Integration for WTP (Optional)
4. Maven Integration for WTP
- Maven Integration for WTP
* 위에서 없어도 되는 게 있을 텐데, 하나씩 빼면서 해 볼 수도 없고
Project 생성
File -> New -> Other -> Maven -> Maven Project
New Maven project
Select project name and location
* Use default Workspace location [선택] 후
* Next
Select an Archetype
* Catalog : Internal
* Filter : webapp
선택:
Group Id: org.apache.maven.archetypes
Artifact Id: maven-archetype-webapp
* Next
Enter Artifact Id
* Group Id: hnj.webapps [project 구분 id]
* artifact id: scada [project name]
* package: [project source package]
* Finish
위의 과정을 거치면 artifact id로 넣었던 scada라는 이름의 project가 package explorer에 나타남
[pic-1][아래는 spring perspective]
[pic-2][아래는 Java EE perspective]
[pic-3][아래 Directory까지 추한한 후 Navigator로 본 구조]
Project 설정 변경
- src/main/webapps/WEB-INF/web.xml을 삭제
Project -> Project Facets
* Dynamic Web Module Check 해제 후 Apply
* 적당한 Dynamic Web Module의 버전 선택
* Dynamic Web Module Check
* 하단: Further configuration available
context root: scada [project name]
content directory: /src/main/webapp
- generation web.xml을 선택
* OK
- 추가후 compler에서 보여지는 오류가 있다면
- web-module 3.0
- java-version 1.6
을 선택 하면, java version mismatch가 나옴
- projects-properties
Java Compiler의 java 버전 맞춤
- 그래도 남는 Maven 관련 오류
"Dynamic Web Module 3.0 requires Java 1.6 or newer."
pom.xml 편집
<build>
<finalName>scada</finalName>
<!-- Dynamic Web Module 3.0 requires Java 1.6 or newer -->
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<!-- Dynamic Web Module 3.0 requires Java 1.6 or newer -->
</build>
maven update를 수행
Project에 Directory 추가
src/main/java
src/main/resources
src/test/java
src/test/resources
와 같이 디렉토리 생성
추가한 directory를 deploy항목에 추가
xml파일 편집 또는 properties에서 설정
- .settings/org.eclipse.wst.common.component를 편집
또는
- Properties -> Deployment Assembly
에 추가
.classpath를 편집하거나 properties에서 설정
- .classpath
- Properties -> Java Build Path -> Source
maven update
maven install
피드 구독하기:
글 (Atom)