2013년 12월 1일 일요일

500에러 404에러 403에러

500 서버 에러의 경우 프로그램 코드의 논리적 오류가 생기거나 할 때 나오는 막연한 오류임.

요청한 파일(url)이 없는 경우에는 404 not found

권한이 없는 경우에는 403 forbidden이 뜬다.

he server encountered an internal error () that prevented it from fulfilling this request.

어딘가에 오타나 미입력등으로 에러가 발생 한것

An error has occurred.(Refreshing workspace to recover changes.)

Spring을 실행할때 An error has occurred.라고 하면서 See the log file log파일을 참조하라는 error메시지가 뜨면

workspace/.metadate/.log에서 error메시지를 확인한다.

어떤 메시지가 있는지 확인한다. 여러가지 메시지가 나오는데 각 메시지를 확인한다.

나 같은 경우는

MESSAGE An error occurred while automatically activating bundle org.eclipse.team.svn.ui (937).
자동으로 묶음 org.eclipse.team.svn.ui (937)를 활성화하는 동안 메시지 오류가 발생했습니다. 라는 메시지와

The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. (작업 영역은 이전 세션에서 저장되지 않은 변경 사항과 함께 종료되었습니다. 작업공간의 변경 사항을 새로 고침하여 복구합니다.-직역이라 쫌 이상... )라는 메시지가 나왔다.

이런 메시지가 나오면

workspace\.metadata\.plugins\org.eclipse.core.resources 안의 .snap 파일을 지운다.

Spring 3.7 Indigo에 SVN 설치

. Install New Software 메뉴에서 Work with 입력 창에 "Indigo - http://download.eclipse.org/releases/indigo"선택

2. Collaboration 항목을 펼쳐서 Subversive SVN Team Provider를 선택하고 설치

3. 설치 후에 새로운 프로젝트를 SVN에서 가져와서 만들려고 하면(Project from SVN), Subversive Connector를 설치해야 한다고 고르라는 팝업이 뜸
SVN Kit 1.3.5를 선택하고 설치


재설치 한다고 자동으로 꺼졌다 다시 켜지면... 사용하면 된다.

java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap

java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
Caused by: java.lang.ClassNotFoundException: org.apache.catalina.startup.Bootstrap
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Exception in thread "main"

java의 object type과 int type

- Java 의 object type과 int type자바의 객체로서의 최소한의 기능들과 최소한의 속성들을 정의하고 있습니다.
그리고 자바의 모든객체들이 Object란 클래스를 상속받도록 되어 있다.
우리가 임의의 클래스를 만든다고 해도 그 클래스는 Object Class를 default로 상속받고 있죠.

public class AClass{} 는 사실상 public class AClass extends Object{} 가 되는겁니다.
그래서 우리가 객체를 만들면 Object를 상속 안받았어도 equals메소드라든지 toString메소드를 사용
보통은 재 정의해서 사용을 하죠...

자바는 객체지향 언어로 다형성이란 기능을 제공하기 위해 선조 클래스의 참조변수로 후손의 객체를 참조 가능

Object obj = new AClass();
자바에서는 data type을 크게 두가지로 나눌수 있읍니다.
primary type과 Object type..

primary type에는 boolean, byte, char, int, long, float, double등이 있고,
Object type은 말그대로 class가 되는거구요.

그래서 결론은 자바의 모든 객체를 관리하기 위해 Object라는 클래스를 만들어 둔다고 생각하시면 됩니다.

ex) AClass obj = new AClass(); // AClass의 객체를 만듭니다.
Stack stack = new Stack(); // Stack을 만듭니다.
stack.add(obj); //Object를 stack에 집어 넣는거죠.

ACass obj2 = (AClass)stack.get(0);// Stack에서 Object로 꺼내온 후 AClass로 형변환 합니다. 

frame에 값을 넣기

<%
category = Trim(Request.Form( "cat" ))
%>

< FRAME SRC="topp.asp?cat=<%=category%>" NAME=SIDEBAR SCROLLING=NO>

then in topp.asp:

< %
category = Trim(Request.querystring( "cat" ))
%>  

자바스크립트의 값을 frame에 넣는 방법

html>
<head>
<script>
function loadFrames()
{
top.frame1.location = "http://www.google.com";
top.frame2.location = "http://www.yahoo.com";
}
</script>
</head>
<frameset rows="10%,*" on Load="top.loadFrames()">
<frame name="frame1" src="javascript:' '">
<frame name="frame2" src="javascript:' '">
</frameset>
</html>            

How to get client and server IP address in JSP page

GetIPAddress.jsp<h3> Server Side IP Address </h3><br>
< %@page import="java.net.InetAddress;" %>
< %String ip = "";
InetAddress inetAddress = InetAddress.getLocalHost();
ip = inetAddress.getHostAddress();
out.println("Server Host Name :: "+inetAddress.getHostName());%><br>
< %out.println("Server IP Address :: "+ip);%>

< h3> Client Side IP Address < /h3><br>
< %out.print( "Client IP Address :: " + request.getRemoteAddr() ); %><br>
< %out.print( "Client Name Host :: "+ request.getRemoteHost() );%><br>

리눅스에서 압축하고 압축 풀어 설치(tar.gz, tar, gzip )

압축하고 풀기입니다.

가장 많이 보는 형식은 tar.gz입니다.
이것은 tar형식과 gz형식의 혼합입니다. tar형식은 파일들을 묶어주고 gz은 파일을 압축하는 역할을 하게 됩니다.

Data too long for column 'XXXXX' at row 1

현재 MYSQL 사용중이다.
 
Data too long for column 'photo' at row 1

컬럼으로 설정한 값보다 큰 값이 TITLE 에 들어가려고 하니 나는 애러다.



살펴보니 컬럼 설정을 `photo` varchar(15) DEFAULT NULL,

varchar(15) 값을 255로 하니까 해결... 정말... 죽겠땅...

left join

select t1.rdate, t1.aseq, t1.bst1, t1.bst2, t1.bst3, t1.bst4, t1.bst5, t1.capa, t1.position,
t1.aseqrdate, t1.eseq, t2.bp, t3.esign as sign
from TBSTRecord as t1 left join TAngelHealthStatus as t2 on t1.aseq = t2.aseq
left join TEmployee as t3 on t1.eseq=t3.seq
where t1.aseq='86' and date_format(t1.rdate, '%Y-%m-%d')
between date_format('2012-07-01', '%Y-%m-%d') and date_format('2012-07-31', '%Y-%m-%d') order by t1.rdate desc

CREATE TABLE

CREATE TABLE `Member` (
`seq` int(10) NOT NULL auto_increment COMMENT '회원번호',
`id` varchar(20) NOT NULL COMMENT '아이디',
`pwd` varchar(100) NOT NULL COMMENT '비밀번호',
`name` varchar(20) NOT NULL COMMENT '회원이름',
`pic_url` varchar(16) default NULL COMMENT '사진',
`gender` int(1) NOT NULL COMMENT '성별(1:남, 0:여)',
`address` varchar(100) NOT NULL COMMENT '집주소',
`hobby` varchar(40) default NULL COMMENT '취미',
`grade` int(10) default NULL COMMENT '권한',
`video_url` varchar(16) default NULL COMMENT '동영상',
PRIMARY KEY (`seq`),
UNIQUE KEY `id_unique` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='회원 테이블';

[MySQL] 간단한 백업과 복구방법

특정 데이타베이스 하나만을 백업
백업형식 : myslqdump -u DB계정명 -p 백업대상데이터베이스명 > 저장할파일명
복구형식 : mysql -u DB계정명 -p 복구할테이터베이스명 < 저장할파일명

# ./mysqldump -u root -p mysql > mysql.sql //mysql 디비 백업 예
# ./mysql -u root -p mysql < ./mysql.sql //mysql 디비 복구 예

// 위 백업결과물인 sql 파일은 디비를 생성하지는 않는다.. 다시말해 복구하려는 디비에 mysql이란 디비가 없다면 복구가 되지않는다.... 이점 유의
// 복구하려는 mysql 디비에 테이블이 이미 존재한다면 복구 실패... sql 파일에서 해당 디비의 테이블을 생성하므로.. 따라서 특정 데이타베이스 하나만을 복구 할 시에는 데이타베이스의 이름만 생성한 다음에 위 방법의 복구하여야 함

- 특정 데이타베이스의 특정 테이블 하나만을 복구 백업
백업형식 : myslqdump -u DB계정명 -p 데이터베이스명 테이블명 > 저장할파일명
복구형식 : mysql -u DB계정명 -p 데이터베이스명 < 저장할파일명
#./mysqldump -u root -p mysql user > user.sql
#./mysql -u root -p mysql < user.sql
- 여러개의 데이터베이스 한번에 백업과 복구
백업형식 : mysqldump -u root -p --databases [옵션] DB1 [DB2 DB3] > 파일명
복구방법 : mysql -u root -p < 파일명
# ./mysqldump -u root -p --databases mysql test > dbs.sql //mysql, test 디비를 백업
# ./mysql -u -root -p < dbs.sql //백업된 두 디비를 복구
//--databases 옵션 시 일반 백업과 달리 "CREATE DATABASE ..."문과 "USE DB .." 문이 추가됨
//달리 애기하면 DB를 생성할 필요가 없이 바루 디비가 생성되고 생성된 디비로 전환되고 테이블을 생성하고 인서트로 데이타를 붓는다.. 데이타베이스를 지정하면 안됨
- Mysql 의 전체 데이타베이스 백업
백업형식 : ./mysqldump -u root -p --all-databases > 파일명.sql
복구형식 : mysql -u root -p < 파일명.sql
//원본 데이타베이스명과 동일한 디비가 생성됨
- 기존 테이블 삭제후 백업된 파일로 복구를 위한 백업
(mysqldump문으로 데이타베이스 백업 시 각각의 create table문 앞에 drop table문을 삽입한 형태가 된다)
백업형식 : ./mysqldump -u root -p --add-drop-table test > test.sql
//test 데이타베이스를 기존 태이블 삭제문을 추가하여 백업한다
복구형식 : ./mysql -u root -p test < test.sql