DB 삭제 하기

show dbs 로 현재 db들의 목록을 확인한다.

admin , incadb,incatable,local,test 의 목록을 볼수 있다. 

여기서 incadb 를 삭제 하려고 한다. 먼저 

1. use incadb 로 접속하여 사용을 한다.

2. db.dropDatabase();  - 현재 접속한 db를 삭제 한다.



collection 삭제 하기

db.collection.remove();



블로그 이미지

김진리

,


속성에서 글꼴을 굴림체로 하면됩니다.


굴림체 속성이 없으면 c:\windows\system32 폴더에 있는 cmd 를 직접 실행 시키면 굴림체 가 나옵니다.

블로그 이미지

김진리

,

사용자 등록

db.addUser("아이디","비번");

접속가능 여부

db.auth("아이디","비번");  가능할시 1을 반환

암호 변경시

db.addUser("아이디","바꿀비번");

계정 삭제시

db.removeUser("아이디");


DB 사용 및 생성  - 없을시 생성 , 존재시 사용

use "db명"

모든 DB검색

show dbs


DML  - 데이터 조작시 

insert

db."콜렉션명".insert( { 칼럼 : "값" } );    ex ) db.student.insert( { name : "lee"} );

select All  - 전체 검색

db."콜렉션명".find();       ex ) db.student.find();

delete

db."콜렉션명".remove( { 칼럼 : "값" } );    ex ) db.student.remove( { name : "lee" } );


블로그 이미지

김진리

,

MongoDB


DataBase 는 DB 그대로 이고

Table의 개념은 Collection 이다.


ex)  db = kim  table = student  라는 예제로 테이블 접근.

use kim

db.student.find();


db를 사용하기위해선 use 데이터베이스명

검색이나 삭제를 하기위해선 db.콜렉션명.find();


블로그 이미지

김진리

,

현재 Spring maven 에 tomcat lib 를 추가하여 생기는 에러이다.

2가지 방법이 있다.


첫번째.

http://stackoverflow.com/questions/8487048/java-lang-linkageerror-javax-servlet-jsp-jspapplicationcontext-getexpressionfac  글 참고

That will happen when you include server-specific libraries of a different server make/version in the/WEB-INF/lib of your web application, such as jsp-api.jarel-api.jarservlet-api.jar, etc. You need to remove them all. The /WEB-INF/lib should not contain any server-specific libraries. They belongs in the specific server itself (Tomcat has them in its /lib folder already).


자신의 톰캣 서버의 lib를 사용하면 에러가 나지 않는다.

Project -> Properties -> JAVA Build Path -> Libraries -> Add Library -> Server Runtime

Server 추가 한다.



두번째.


pom.xml 에 


<dependency>

<groupId>org.apache.tomcat</groupId>

<artifactId>tomcat-coyote</artifactId>

<version>7.0.39</version>

<scope>provided</scope>

</dependency>



provided - 컴파일 할 때 필요하지만, 실제 런타임 때에는 컨테이너 같은 것에서 기본으로 제공되는 모듈임을 의미한다. 예를 들어, 서블릿이나 JSP API 등이 이에 해당한다. 배포시 제외된다.

 

실제 런타임때에는 컨테이너(JVM)에서 제공되는 api 를 사용해야 하기 때문에 provided 를 사용한다.

ex) tomcat 안에 있는 jar 파일들

'개발자 > Spring' 카테고리의 다른 글

Spring 에서 File Dowload 하는 예제 및 설정  (0) 2013.06.12
스프링 프레임웍 jar 파일  (1) 2013.03.05
Spring 에서 context부분...  (0) 2013.03.04
Spring 기본 환경설정 프로젝트  (0) 2013.03.04
applicationContext.xml  (0) 2013.03.04
블로그 이미지

김진리

,

java 에서 httpclient 를 이용하여 데이터를 보낼시 한글이 ?? 로 깨지는 경우가 발생한다.


한글 처리는 java.net 의 URLEncoder 와 URLDecoder 를 이용해 보낼땐 encode, 받을땐 decode 를 하면 한글이 정상 처리됨을 볼 수 있다.


httpclient file post 방식 예제 )


PostMethod post  = new PostMethod("보낼경로");

String filename = URLEncoder.encode("파일이름");

File file = new file(파일경로);

Part[] parts = { new StringPart("보낼 속성 이름",filename),

new FilePart("보낼 속성 이름",file)

};


post.setRequestEntity( new MultipartRequestEntity(parts,filePost.getParams()));

HttpClient client = new httpClient();

int status = client.executeMethod(post);  <- 실제적으로 경로를 실행하게되고 상태 값이 int status 에 저장하게 된다 200 이 return 되면 성공 404 는 페이지를 찾을수 없다


if( status == HttpStatus.SC_OK) {
    200

}






받을시


String temp = URLDecoder.decode( request.getparameter("속성이름"));

한글 파일 이름이 저장이 된다.

블로그 이미지

김진리

,

MultipartRequest는 다운로드시 2기가 가 넘으면 int 범위때문에 에러가 발생한다.

이러한 부분은 보완하기 위해서 다운로드할시 stream으로 쭉쭉 받으면 되겠다.

apache 에서  stream api를 확인해보니 


// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();

// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
   
FileItemStream item = iter.next();
   
String name = item.getFieldName();
   
InputStream stream = item.openStream();
   
if (item.isFormField()) {
       
System.out.println("Form field " + name + " with value "
           
+ Streams.asString(stream) + " detected.");
   
} else {
       
System.out.println("File field " + name + " with file name "
           
+ item.getName() + " detected.");
       
// Process the input stream
       
...
   
}
}

라는 예제를 제시하고 있다.

else 부분이 정상적인 파일이 존재 할시이다.


else 부분에 이벤트를.

String path = 저장경로; FileOutputStream fop = new FileOutputStream(new File(저장경로)); Streams.copy(stream, fop, true);


streams.copy를 사용하면 해당 경로에 파일이 쭉쭉~~ stream 방식으로 저장이 되겠다.


블로그 이미지

김진리

,

MultipartRequest  로 업로드를 구현할 시 size 부분에 int 형 자료형만 들어 가게 된다.


그렇게 되면. 용량의 제한은 int 자료형의 범위인  - 2147483648 부터 2147483647 밖에 안되므로 2기가 를 넘지를 못한다.


블로그 이미지

김진리

,

c : 에 설치한 Tomcat 폴더를 복사하여 Tomcat_1 이라고 이름을 주어 생성합니다.

그럼 Tomcat 폴더는 총 2개가 됩니다 .   Tomcat_1 의 Tomcat_1/conf/server.xml 파일에서

<Server port="8006" shutdown="SHUTDOWN">

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444" />

 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />

저는 빨강색 부분을 원래의 속성 값 + 1씩 하였습니다 .

 

Tomcat_1\bin 폴더 에서 service.bat 파일을 편집으로 열어서

rem set default service name

set service_name = tomcat77   -> 비스명  이자리는 _ 가 등록되지 않습니다.

set pr_displayname= Tomcat_1   -> 서비스에서 나타낼 이름

 

마지막으로 cmd 창을 띄어서

cd : Tomcat7_1\bin 로 이동하신후

service.bat install 을 수행해 줍니다.

 

이제 톰캣을 Run 하실때 각각의 폴더에 해당하는 서비스를 선택하시면 서비스가 실행하게 됩니다.

 

 

블로그 이미지

김진리

,

 JSTL 문법의 for문 사용법


<c:forEach items="${리스트가 받아올 배열이름}" var=$"{for문안에서 사용할 변수}" varStatus="status">



status 는 for문의 돌아가는 상태를 알 수 있게 체크하여 준다


#{status.current}   현재의 for문에 해당하는 번호

#{status.index} 0부터의 순서

#{status.count} 1부터의 순서

#{status.first}  현재 루프가 처음인지 확인

#{status.last}  현재 루프가 마지막인지 확인

#{status.begin} for문의 시작 값

#{status.end}   for문의 끝 값

#{status.step}  for문의 증가값


블로그 이미지

김진리

,