04-1 뷰 라우터

1. 라우팅 : 웹 페이지 간의 이동 방법, 싱글 페이지 애플리케이션(SPA)에서 주로 사용함
 *SPA : 페이지를 이동할 때마다 서버에 웹 페이지를 요청하여 새로 갱신하는 것이 아니라 미리 해당 페이지들을 받아 놓고 페이지 이동 시에 클라이언트의 라우팅을 이용하여 화면을 갱신하는 패턴을 적용

2. 뷰 라우터 : 뷰에서 라우팅 기능을 구현할 수 있도록 지원하는 공식 라이브러리
 <router-link to="URL 값"> : 페이지 이동 태그. 화면에서는 <a>로 표시되며 클릭하면 to에 저장한 URL로 이동
 <router-view> : 페이지 표시 태그. 변경되는 URL에 따라 해당 컴포넌트를 뿌려주는 영역 

3. $mount() API : el 속성과 동일하게 인스턴스를 화면에 붙이는 역할

4. 네스티드 라우터(Nested Router) : 라우터로 페이지를 이동할 때 최소 2개 이상의 컴포넌트를 화면에 나타낼 수 있음
 - 상위 컴포넌트 1개에 하위 컴포넌트 1개를 포함하는 구조

5. 네임드 뷰 : 특정 페이지로 이동했을 때 여러 개의 컴포넌트를 동시에 표시하는 라우팅 방식

 

04-2 뷰 HTTP 통신

 - 뷰에서 ajax를 지원하기 위해 뷰 리소스와 액시오스 라이브러리가 있음

1. 뷰 리소스 : 2016년 말에 에반이 공식적인 지원을 중단하기로 한 라이브러리 (아직 계속 사용 가능)
 - this.http.get() : 뷰 리소스에서 제공하는 기능으로 HTTP GET 요청을 서버에 보내고 특정 데이터를 받아온다.

2. 액시오스(axios) : 뷰 커뮤니티에서 가장 많이 사용되는 HTTP 통신 라이브리러리이다. Promise 기반의 API 형식이 다양하게 제공되어 별도의 로직을 구현할 필요가 없다
 1) axios.get('URL주소').then().catch() 

     : 해당 URL 주소에 대해 HTTP GET 요청을 보낸다. 서버에서 보낸 데이터를 정상적으로 받아오면 then() 안에 정의한 로직이 실행, 오류가 발생하면 catch()에 정의한 로직이 수행
  2) axios.post('URL주소').then().catch()  

       : 해당 URL 주소에 대해 HTTP POST 요청을 보내고 위에서 살펴본 내용과 동일함
  3) axios({옵션 속성})   

       : HTTP 요청에 대한 자세한 속성들을 직접 정의하여 보낼 수 있음 

'Vue.js' 카테고리의 다른 글

3장. 인스턴스 & 컴포넌트  (0) 2021.12.12

1. /WEB-INF/tags 폴더 : "태그 파일" 기반의 커스텀태그

2. /WEB-INF/tld 폴더 : "핸들러 클래스" 기반의 커스텀태그

 

/WEB-INF/tags/* → /app_config/tags/* 로 경로를 변경할 수 있을까? 

확인한 바로는 이동 불가하다.

 

참고 문서 : https://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html

Tag File Location

Tag files can be placed in one of two locations: in the /WEB-INF/tags/ directory or subdirectory of a web application or in a JAR file (see Packaged Tag Files) in the /WEB-INF/lib/ directory of a web application. Packaged tag files require a tag library descriptor (see Tag Library Descriptors), an XML document that contains information about a library as a whole and about each tag contained in the library. Tag files that appear in any other location are not considered tag extensions and are ignored by the web container.

 

 

 

/WEB-INF/tld/* → /app_config/tld/* 로 경로를 변경할 수 있을까? 

가능하다.

 

web.xml 파일에서 아래와 같이 경로를 설정하면 된다.

<jsp-config>
	<taglib>
		<taglib-uri>
			http://abcdefg.co.kr
		</taglib-uri>
		<taglib-location>
			/app_config/tld/abcdefg.tld
		</taglib-location>    
	</taglib>
</jsp-config>

<welcome-file-list>
        <welcome-file>/</welcome-file>
</welcome-file-list>

 

WebContent - WEB-INF/tags

                 - app_config/tld

 

위와 같이 WebContent 하위에서 이동은 가능하지만 그 외 이동은 불가하다.

예를 들어 특정 외부 폴더 (C:/project/Appserver/tomcat/app_config/tld) 로 이동은 안된다.

'JSP' 카테고리의 다른 글

[JSP] cannot be resolved to a type 오류 해결  (0) 2020.10.26
개요

Spring을 사용하면서 보통 *-context.xml, *-properties.xml 과 같은 설정파일은 src/main/resources 아래 위치하여 사용한다.

프로젝트를 war로 Export 하면 보통 /WEB-INF/classes/config/* 에 설정파일이 위치한다.

하지만, 설정파일 모두를 외부 특정 폴더로 이동시켜야 한다면, 톰캣의 외부 classpath 설정은 어떻게 할까?

 

상황 설명

예를 들어 src/main/resources 아래 *-context.xml, *-properties.xml 파일이 있고

Maven Build(Goals : clean package) 하면, 설정파일들을 외부 경로(C:/Project/Appserver/tomcat/app_config) 에 위치한다. 

이런 경우 Tomcat의 외부 폴더를 classpath로 설정해야지 설정파일을 읽어서 정상적으로 동작할 수 있다.

 

방법

tomcat 설정 후 아래 사진과 같이 classpath를 설정한다.

+ Recent posts