'Web'에 해당되는 글 21건

[오류] Cannot change version of project facet Dynamic Web Module

Web/Spring

Eclipse내 Tomcat에서 돌리려고 하니 



java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

위와 같은 Exception이 발생하면서 tomcat에 project가 deploy 되지 않았다.



Eclipse내 Markers에서 다음과 같은 Error를 확인했다.



Cannot change version of project facet Dynamic Web Module to 2.4

Maven Project 갱신을 위해서 Update Project 진행 후 다음과 같은 Error가 발생되었다.


▶ 해결방안


deployment descripter file(web.xml)를 보면 version=2.4으로 되어있다.



그러나 Project Facets에서는 아래와 같이 Dynamic Web Module Version 2.3 으로 되어있다.

2.3 -> 2.4로 변경하려면 다음과 같이 안된다!!!




그럼 어떻게 변경 가능할까?

해당 project 경로 내에 .settings 로 이동하면 다음과 같은 파일 목록를 찾을 수 있다.




org.eclipse.wst.common.project.facet.core.xml 파일을 연다. 

2.3 -> 2.4 으로 변경한 뒤 Update Project 진행한다.




Project Facets를 보면 2.4 변경되어 있음을 확인 할 수 있다.



Dynamic Web Module의 Version은 톰켓 버전에 따라서 servlet spec version이 다르다. 다음 url에서 확인 후 알맞게 지정하자!

http://tomcat.apache.org/whichversion.html


'Web > Spring' 카테고리의 다른 글

Resolvering Views  (0) 2016.07.14
[STS] encoding 관련 warning 처리  (0) 2015.09.26

[Eclipse] maven build JSP Syntax Validation disabled

Web

Eclipse 에서 Maven Build하면 기본적으로 JSP Syntax Validation 한다.



build 할 때마다 매번 validation 확인하면서 많은 시간을 잡아먹는다!

JSP Syntax Validation disabled 하는 방법은 다음과 같다.


1) Project > Properties > Validation 메뉴이동

2) Enable project specific settings > 체크박스 선택

3) validators 목록 > JSP Syntax Validation > Build > 체크박스 해제




[HTML] <img> usemap Attribute

Web/Web 기초

▶ 개요

아래와 같은 경우 img tag의 usemap 속성을 이용하면 된다.


1) 하나 이미지에서 영역 따라서 각기 다른 link를 설정하고 싶은 경우


2) 이미지 내 일정 영역에 대해서만 link를 설정하고 싶은 경우




▶ 예시

영역모양은 3가지 형태(사각형, 원, 다각형)이다.

영역범위는 왼쪽 상단이 기준좌표(0,0)이며, weight가 X축, height가 Y축이다.


<img src="image.jpg" alt="이미지" usemap="#img_map"/>

<map name="img_map">

<area shape="rect" coords="X1,Y1,X2,Y2" href="./goDownLoad.do" alt="다운받기">

<area shape="circle" coords="X,Y,RADIUS" href="./goDownLoad.do" alt="다운받기">

<area shape="poly" coords="X1,Y1,X2,Y2, ... ,Xn,Yn" href="./goDownLoad.do" alt="다운받기">

</map>


* 위 예시 그림처럼 사각형으로 범위를 지정하고 싶을 경우
1) shape="rect" 으로 지정
2) 시작범위(왼쪽 위) ~ 종료범위(오른쪽 아래) 의 좌표값으로 지정
3) href 속성 처리



▶ 참조

https://www.w3schools.com/tags/att_img_usemap.asp

http://tonks.tistory.com/39




'Web > Web 기초' 카테고리의 다른 글

개행문자(CR, LF) 정리  (0) 2016.12.28
Apache HTTP Server and Tomcat Server 비교  (0) 2016.05.27

web brower 상에서 개행문자 처리

Web

개행문자에 대한 정리는 다음 링크에서 간략히 해놓았다.

http://templar.tistory.com/30


textarea, input 내에서 줄바꿈 입력시 '\n'(이하 LF) 이다.

그 외 html 상에서 줄바꿈은 br tag(<br/>) 이다.

(입력된 LF가 form submit 하면 LF -> CR+LF으로 치환된다)


textarea에서 줄바꿈 포함된 문자열 입력 이후 다시 화면 상 표현은 다음과 같이 된다.


▶ java 소스코드 - br tag로 치환 Util



▶ java 소스코드 - Util 사용예시

		String ps_txt =request.getParameter("txt");

		model.addAttribute("txt", ps_txt);
		model.addAttribute("rtxt", CommonStrUtils.trimAndrepalceNewlineToBrTag(ps_txt));
		model.addAttribute("r2txt", CommonStrUtils.trimAndrepalceCRLFtoLF(ps_txt));

		...


textarea 상에서는 줄바꿈 되었으나, 밖에서는 줄바꿈 되지 않는 것을 확인 할 수 있다.

CR+LF 또는 LF를 br tag 변경하면 다음과 같이 적용됨을 확인 할 수 있다.

개행문자(CR, LF) 정리

Web/Web 기초

web에게 입력받은 줄바꿈이 포함된 문자열을 다시 표현할때 줄바꿈이 표현되지 않았다.

왜 표현되지 않는가를 찾아보다 개행문자에 대한 문서를 검색하며 이를 정리하였습니다.



▶ 개행문자 개요

키보드상 Enter key 입력 시 줄 바뀌어진다. 이를 개행문자라 한다.

개행문자(newline)는 CR(Carriage Return), LF(Line Feed)으로 구분된다.

즉, 줄바꿈을 표현하는 방법은 시스템과 OS에 따라 구분되어 사용된다.

ex)

Windows는 ASCII의 CR+LF

Unix, Linux는 LF

맥OS는 버전 9까지 CR, 버전 10부터 LF



▶ 개행문자 표현

CR = '\r'

LF = '\n'



▶ 출처

https://ko.wikipedia.org/wiki/%EC%BA%90%EB%A6%AC%EC%A7%80_%EB%A6%AC%ED%84%B4

https://ko.wikipedia.org/wiki/%EC%83%88%EC%A4%84_%EB%AC%B8%EC%9E%90

'Web > Web 기초' 카테고리의 다른 글

[HTML] <img> usemap Attribute  (0) 2017.03.31
Apache HTTP Server and Tomcat Server 비교  (0) 2016.05.27

IIS 6.0에서 대용량 파일 업로드시 500 Error 발생

Web

업로드파일의 최대허용크기를 초과하면 다음과 같이 500 Error를 토해낸다.




▶ 해결책

설정파일은 경로는 다음과 같다.

C:/windows/system32/inetsrv/metabase.xml


해당 파일내에서 AspMaxRequestEntityAllowed 값을 변경한다.

변경 후 IIS 재시작해야 설정값이 반영된다.

ex) 100MB = 1,048,576(2^20) * 100 byte



▶ 참고

http://gimakhin.tistory.com/20

https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/6de966e8-8bcf-4782-95de-466123e59168.mspx?mfr=true

'Web' 카테고리의 다른 글

[Eclipse] maven build JSP Syntax Validation disabled  (0) 2017.04.06
web brower 상에서 개행문자 처리  (0) 2016.12.29
[ASP] Sub, Function Procedures  (0) 2016.11.04
[ASP] Empty, Nothing, Null 차이  (0) 2016.11.04
[ASP] 내장객체 정리  (0) 2016.11.04

[ASP] Sub, Function Procedures

Web

ASP는 Sub, Function 두 종류의 Procedures 존재.


▶ Sub

 값 반환 불가

 ex)

  Sub mysub()

   response.write("I was written by a sub procedure")

  End Sub

 

▶ Function

 값 반환 가능

 ex)

  Function myfunction()

   some statements

   myfunction=some value

  End Function

 

▶ Sub, Function 비교

 둘 다 Procedures 호출시 매개인자를 넘겨줄 수 있다.

 값 반환 가능여부에 따라서 구분된다.


▶ 출처

http://www.w3schools.com/asp/asp_procedures.asp

[ASP] Empty, Nothing, Null 차이

Web

http://www.w3schools.com/asp/asp_ref_vbscript_keywords.asp 작성된 영어 문서를 제가 알기 쉽게 번역하였습니다.


▶ Empty, Nothing, Null

3개의 상태는 각기 다른 상태이며, 각기 가지는 의미가 미묘하게 차이를 지닌다.

(Empty != Nothing,  Empty != Null, Nothing != Null)


* Empty

 초기화 되지 않는 상태로 변경. 즉, 변수선언 된 바로 직전상태로 만든다.

 ex)

Dim d '/ uninitialized

Set d = Date() '/ NOT uninitialized

Set d = Empty '/ uninitialized

 

* Nothing

 초기화 되지 않는 상태로 변경. 또는, 시스템 상 할당된 자원을 해제한다.

 ex)

Dim d '/ uninitialized

Set d = Date() '/ NOT uninitialized

Set d = Nothing '/ uninitialized & release system resources

 

* Null

 해당 변수를 유효하지 않는 값으로 변경. sql에서 사용되는 NULL가 같다.

 ex)

Dim d '/ uninitialized

Set d = Date() '/ valid data

Set d = Null '/ no valid data


▶ Dim, Set

 Dim: 변수선언, 메모리할당

 Set: 객체인스턴스 생성 또는 값 할당

 ex)

  Dim d '/ 변수선언

  Set d = Date() '/ 값할당 또는 인스턴스 생성 


▶ 출처

http://www.w3schools.com/asp/asp_ref_vbscript_keywords.asp

[ASP] 내장객체 정리

Web

http://taeyo.net/lecture/에 있는 강의를 제가 알기 쉽게 정리한 내용입니다.


▶ 내장객체모델

* Server

 asp.dll에서 제공되지 않는 외부객체를 사용하기 위해서는 Server.CreateObject 메소드를 이용해서,

 객체의 인스턴스생성 후 사용할 수 있다.

 ex) 데이터베이스 접속을 위해서 MS에서 제공하는 ADO(ActiveX Data Object)

    파일시스템에 읽고 쓰기위한 FileSystemObject

* Request

 5개의 컬렉션, 1개의 속성, 1개의 메소드로 구성됨

 - 컬렉션

 QueryString: Get방식 인자

 Form: Post방식 인자

 Cookie: 쿠키

 ServerVariable: HTTP해더값, 서버자체변수 등

  ex) Request.ServerVariable("REMOTE_ADDR")

 ClientCertificate

 

 - 속성

 TotalBytes: 클라이언트에서 서버측으로 전송한 바이트 전체 개수에 대한 정보

 

 - 메소드 

 BinaryRead: count한 byte만큼 데이터를 읽어들인다.


 - 우선순위

 QueryString > Form > Cookie > ClientCertificate > ServerVariable


 - Request() / Request.QueryString() / Request.Form() 비교

 Request(): 컬렉션을 우선순위에 따라 순회하면서 요청한 인자를 겁색한다.

 Request.QueryString(): Get방식으로 넘겨준 인자를 검색한다.

 Request.Form(): Post방식으로 넘겨준 인자를 검색한다.

 

 Request() 방식은 어떤방식으로 인자를 넘겨줄지 모르는 경우는 유용하나,

 소스코드가 직관적이지 못하며, 성능상 QueryString(), Form()에 비해서 떨어진다.

 

* Response

 1개의 컬렉션, 9개의 속성, 8개의 메소드로 구성되어 있다.

 - 컬렉션

 Cookies

 

 - 속성

 Buffer

 CacheControl

 Charset

 ContentType

 Expires

 ExpiresAbsolute

 IsClientConnected

 Pics

 Status

 

 - 속성

 AddHeader

 AppendToLog

 BinaryWrite

 Clear

 End

 Flush

 Redirect

 Write


* Session

 2개의 컬렉션, 5개의 속성, 3개의 메소드, 2개의 이벤트로 구성되어 있다.

 - 컬렉션

 Contents: application/session 내에서 script 상에서 선언된 변수

 StaticObjects: application/session 내에서 HTML <object> tag를 이용해서 선언된 변수


 - 속성

 CodePage: 

 LCID: 지역을 구분할 수 있는 정수를 지정 또는 반환. 이를 이용해서 일시, 통화 등을 표현할 수 있다..

 SessionID: 서버에 의해서 생성된 유니크한 Session id. 사용자의 유니크 id를 반환.

 Timeout: Application에서의 Session 객체 유지시간

 

 - 메소드

 Abandon: 해당 User의 Session 삭제

 Contents.Remove: Contents 중 입력한 key 변수 삭제

 Contents.RemoveAll(): Contents 전체 변수 삭제


* Application

 2개의 컬렉션, 4개의 메소드, 2개의 이벤트로 구성되어 있다.


 Application 개체는 Event가 존재하며, 제공되는 Event에는 OnStart, OnEnd가 있다.

 제어하는 파일은 global.asp이다.

 Event는 application의 시작/종료시점, Session의 시작/종료시점으로 각각 4가지 구분된다.

  

 Application 객체는 전역변수로서 사용될 수도 있다.

 전역변수는 여러명의 사용자가 동시에 접근할 수 있기에 이를 제어하기 위한 임계영역을 지정하는 메소드가 필요하겠죠?

 이와 같은 역활을 하는 메소드가 Lock, UnLock 이다.


 - 컬렉션

 Contents

 StaticObjects

  

 - 메소드

 Contents.Remove

 Contents.RemoveAll()

 Lock

 Unlock

 

 - 이벤트

 Application_OnEnd

 Application_OnStart


* ASPError

 ASP 3.0, IIS5 이후 부터 지원한다.

 9개의 속성으로 구성되어 있다.

 

 - 속성

 ASPCode

 ASPDescription

 Category

 Column

 Description

 File

 Line

 Number

 Source


▶ 참조

http://taeyo.net/lecture/

http://www.w3schools.com/asp/asp_ref_session.asp

[ASP] 여러 단계 ole db 작업을 하는 동안 오류가 발생했습니다.

Web

위 Error 발생하는 사유는 여러 이유가 있겠지만, 확인된 원인에 대해서 정리하였습니다.

사용하는 Database는 MSSQL 입니다.


▶ 저장프로시저(store procedure)를 결과조회(select) 위하여 작성했을 때, 위에 같은 Error가 발생한 경우

 > 저장프로시저(store procedure) 내 에서 SET NOCOUNT OFF 선언

 > SET NOCOUNT 에 대한 정리: http://templar.tistory.com/12

  

▶ ASP Page 내에서 발생한 경우.

1) 작성된 SQL 앞에 SET NOCOUNT OFF; 추가

  > 다음과 같이 하면, 좀더 명확한 Error Message로 반환

2) 반환된 Error Message 확인 후 처리

  > 본인의 경우는 해당 데이터베이스에 접근권한이 없어서 발생되었습니다.



'Web' 카테고리의 다른 글

IIS 6.0에서 대용량 파일 업로드시 500 Error 발생  (0) 2016.12.15
[ASP] Sub, Function Procedures  (0) 2016.11.04
[ASP] Empty, Nothing, Null 차이  (0) 2016.11.04
[ASP] 내장객체 정리  (0) 2016.11.04
Eclipse 대소문자 변환 단축키  (0) 2016.06.14