728x90


1
2
3
4
5
6
7
8
<form>
 <fieldset>
  <legend>Personalia:</legend>
  Name: <input type="text"><br>
  Email: <input type="text"><br>
  Date of birth: <input type="text">
 </fieldset>
</form>



실험사이트


결과



Posted by 앗뜨거
,
728x90

MySql 기준으로 설명하겠습니다.

 

1. 라이브러리 다운로드 및 복사

 

http://dev.mysql.com/downloads/connector/j/ 에서 환경에 맞는 커넥터를 다운받습니다.

 

 



 

 

mysql-connector-java-5.1.20-bin.jar 파일을 복사하여 %CATALINA_HOME%\lib 폴더 안에 넣어주세요.

(저의 경우는 C:\tomcat\lib 입니다.)

 

해당 폴더내에 tomcat-jdbc.jar 파일이 있는지 확인하시고 없다면,

http://tomcat.apache.org/download-70.cgi 을 통해서 재설치하시는걸 권합니다.

 

Tomcat 7.0 에서 DataSource를 연동하기 위해서는 이전 버전과 달리 위 2개의 라이브러리만 필요로 합니다.

 

2. server.xml 수정하기

 



 

이클립스와 톰캣을 연동하셨다면 이클립스내에서 server.xml을 열어서

<GlobalNamingResources>이 사이에 아래 굵게 표시된 내용을 각자 맞게 수정하여 추가합니다. </GlobalNamingResources>

(연동이 안된 상태라면 %CATALINA_HOME%\conf\server.xml을 수정)

 

<GlobalNamingResources>

 

  <Resource auth="Container" 

     driverClassName="com.mysql.jdbc.Driver" 

     maxActive="8" 

     maxIdle="4" 

     name="jdbc/mysqlDB(디비 이름)" 

     password="비번" 

     type="javax.sql.DataSource" 

     url="jdbc:mysql://localhost:3306/dbapp?" 

     username="root"/>

 

</GlobalNamingResources> 

 

그리고 한가지 더!

 

<Context> 이 사이에 아래 굵게 표시된 내용을 각자 맞게 수정하여 추가합니다. </Context>

 

<Context docBase="Exam001" path="/Exam001" reloadable="true" source="org.eclipse.jst.jee.server:Exam001">

 

<ResourceLink global="jdbc/리소스명" name="jdbc/리소스명" type="javax.sql.DataSource" />

 

</Context>

 

여기서 유의 사항은 <Resource> 에서 정한 name과 같아야 합니다.

 

 

 

3.web.xml 수정

 




 

WEB-INF 안에 있는 web.xml을 열어서

<web-app>이 사이에 아래 굵게 표시된 내용을 각자 맞게 수정하여 추가합니다.</web-app>

(WEB-INF안에 web.xml이 없을때에는 새로 만들어서 아래 내용을 추가해주도록 합니다.)

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 version="3.0" metadata-complete="true">

 

 <resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jdbc/exam</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

 

</web-app>

<res-ref-name>은 반드시 위에서 설정한 “<ResourceLink>” 태그의 “name”속성의 값과 동일 해야 합니다.

Posted by 앗뜨거
,
728x90

 java.util.regex 패키지에 있는 Match 클래스와 Pattern 클래스를 사용하여 문자열을 정규표현식으로 검증할 수 있다.

 

boolean bln = Pattern.matches("^[a-zA-Z0-9]*$", this.input);

 


정규표현식은 다음과 같은 문법으로 되어 있다.

^ : 문자열의 시작을 나타냄.

$ : 문자열의 종료를 나타냄.

. : 임의의 한 문자를 나타냄. (문자의 종류는 가리지 않는다)

| : or를 나타냄.


? : 앞 문자가 없거나 하나있음을 나타냄.

+ : 앞 문자가 하나 이상임을 나타냄.

* : 앞 문자가 없을 수도 무한정 많을 수도 있음을 나타냄.


 만약, .* 으로 정규식이 시작한다면 시작하는 문자열과 같은 문자열이 뒤에 없거나 많을 수도 있는 경우에만 일치를 시킨다. 즉, abc 일 경우 시작문자인 a를 기준으로 a가 없을경우와 a가 무한정 많은 경우에도 true를 반환하기 때문에 abc의 경우는 true를 반환한다.


[] : 문자 클래스를 지정할 때 사용한다. 문자의 집합이나 범위를 나타내면 두 문자 사이는 '-' 기호로 범위를 나타낸다. []내에서 ^ 가 선행하여 나타나면 not 를 나타낸다.


{} : 선행문자가 나타나는 횟수 또는 범위를 나타낸다.

a{3} 인 경우 a가 3번 반복된 경우를 말하며, a{3,}이면 a가 3번 이상 반복인 경우를 말한다. 또한 a{3,5}인 경우 a가 3번 이상 5번 이하 반복된 경우를 나타낸다.



\w : 알파벳이나 숫자

\W : 알파벳이나 숫자를 제외한 문자

\d : 숫자 [0-9]와 동일

\D : 숫자를 제외한 모든 문자


 

기본적인 문자열 검증 정규식)

^[0-9]*$  :  숫자만

^[a-zA-Z]*$  :  영문자만

^[가-힣]*$  :  한글만

^[a-zA-Z0-9]*$  :  영어/숫자만


 

정규식 표현 예제)

이메일 : ^[a-zA-Z0-9]+@[a-zA-Z0-9]+$  or  ^[_0-9a-zA-Z-]+@[0-9a-zA-Z-]+(.[_0-9a-zA-Z-]+)*$


휴대폰 :  ^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$


일반전화 : ^\d{2,3} - \d{3,4} - \d{4}$


주민등록번호 : \d{6} \- [1-4]\d{6}


IP 주소 : ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3})


Posted by 앗뜨거
,