반응형

  sec01.ex01 패키지를 만들고 FileUpload 클래스를 생성합니다. 또 test01폴더를 생성하고 실습 파일 uploadForm.sjp를 추가합니다.

  파일을 업로드할 때 사용할 저장소를 다음과 같이 D드라이브 아래에 만듭니다. 여기서는 폴더 이름을 file_repo로 하였습니다.

uploadForm.jsp

  파일 업로드를 처리하는 서블릿인 FileUpload 클래스를 다음과 같이 작성합니다. 라이브러리에서 제공하는 DiskFileItemFactory 클래스를 이용해 저장 위치와 업로드 가능한 최대 파일 크기를 설정합니다. 그리고 ServletFileUpload 클래스를 이용해 파일 업로드창에서 업로드된 파일과 매개변수에 대한 정보를 갖와 파일을 업로드하고 매개 변수의 값을 출력합니다.

 

  

 

이제 출력을 해볼게요!

이렇게 입력을 하고.. 업로드!!

파일 저장소(d:/file_repo)에 가보니 이렇게 업로드가 되어있네요!

 

다음 글에서는 jsp에서 파일 다운로드를 해볼게요!

 

# JSTL TAGLIB가 없으면 오류떠요. 태그 라이브러리 설치 안하신분은!

https://windorsky.tistory.com/entry/JSTLJSP-Standard-Tag-Library참고해주세요

FILE업로드 라이브러리 설치 안하신분은 https://windorsky.tistory.com/entry/JSP-%ED%8C%8C%EC%9D%BC-%EC%97%85%EB%A1%9C%EB%93%9C-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%84%A4%EC%B9%98

 여기를 참고해주세요!

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

HTML5  (0) 2019.12.27
JSP에서 파일 다운로드  (0) 2019.12.26
JSP 파일 업로드 라이브러리 설치  (0) 2019.12.26
표현언어(EL)와 JSTL 회원 관리  (0) 2019.12.26
JSTL 문자열 함수 TEST  (0) 2019.12.26
블로그 이미지

꽃꽂이하는개발자

,
반응형

 파일 업로드 기능을 사용하려면 오픈 소스 라이브러리를 설치해야 합니다. 파일 업로드 라이브러리르 설치하는 과정은 다음과 같습니다.

jakarta.apache.org 로 접속후 Commons를 선택해주세요

내리시다 보면 위와같이 FileUpload가 있습니다.

클릭하시면 위와같은 화면이 나오는데 downlodaing 아래에 FileUpload 1.3.3 버전을 찾아서 here를 누릅니다

찾으셔서 클릭하시면 다운로드가 됩니다.

 

다운받으신 압축파일을 풀어주시고

폴더 안에 있는 

이 파일을 복사하셔서 사용하실 프로젝트의 WebContent/WEB-INF-lib 에 복사해서 넣어주시면 됩니다.

 

다음으로 commons-io-2.6jar 파일을 설치해보겠습니다.

https://commons.apache.org/proper/commons-io/download_io.cgi 

 

Apache Commons – Apache Commons

Welcome to Apache Commons Apache Commons is an Apache project focused on all aspects of reusable Java components. The Apache Commons project is composed of three parts: The Commons Proper - A repository of reusable Java components. The Commons Sandbox - A

commons.apache.org

 

commons-io.2.6-bin.zip을 다운받아주시고 압축을 풀어주겠습니다

이 파일을 다시 복하해서 프로젝트에 넣어주겠습니다.

 

  파일 업로드 라이브러리에서 제공하는 클래스에는 DiskFileItemFactory, ServletFileUpload가 있습니다. 각 클래스에서 제공하는 기능은

DiskFileItemFactory 클래스가 제공하는 메서드
메서드 기능
setRepository() 파일을 저장할 디렉터리를 설정
setSizeThreadhold() 최대 업로드 가능한 파일 크기를 설정
ServletFileUpload
메서드 기능
parseRequest() 전송된 매개변수를 List 객체로 얻습니다.
getItemIterator() 전송된 매개변수를 Iterator 타입으로 얻습니다.

  다음 글 부터 직접 코딩을 하면서 테스트를 해보겠습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

JSP에서 파일 다운로드  (0) 2019.12.26
JSP 파일 업로드  (0) 2019.12.26
표현언어(EL)와 JSTL 회원 관리  (0) 2019.12.26
JSTL 문자열 함수 TEST  (0) 2019.12.26
문자열 처리 함수  (0) 2019.12.26
블로그 이미지

꽃꽂이하는개발자

,
반응형

제가 사용할 폴더와 파일들 입니다.

 

memberForm.jsp
member_action.jsp

회원가입 정보를 입력하면 member_action.jsp로 보내지게 되고 

member_action.jsp에서는 sec02.ex01.MemberBean 객체를 생성해서 받아온 정보를 저장하게 됩니다.

memDAO 객체를 만들고 거기다가 MemberDAO 클래스의 addMember 에 받아온 정보(m)을 추가합니다.

membersList 에 memDAO.listMembers()를 담고 이 membersList를 membersList에 할당해 줍니다.

그 후에 membersList.jsp에 포워드 해주고 membersList.jsp의 내용에 맞게 출력되게 됩니다.

membersList.jsp
MemberDAO

 

MemberBean

ojdbc6.jar 파일을 넣어주셔야 오라클과 연결이 되요

 

전송을 해주시면

가입이 완료되고 가입된 회원들이 출력이 됩니다.

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

JSP 파일 업로드  (0) 2019.12.26
JSP 파일 업로드 라이브러리 설치  (0) 2019.12.26
JSTL 문자열 함수 TEST  (0) 2019.12.26
문자열 처리 함수  (0) 2019.12.26
formating tag lib 예제  (0) 2019.12.26
블로그 이미지

꽃꽂이하는개발자

,
반응형




 


title1="hello world"

title2="쇼핑몰 중심 JSP입니다!"

str1="중심"



fn:length(title1)=${fn:length(title1)}

fn:toUpperCase(title1)= ${fn:toUpperCase(title1)}

fn:toLowerCase(title1)= ${fn:toLowerCase(title1)}


fn:substring(title1,3,6) = ${fn:substring(title1,3,6)}

fn:trim(title1) =${fn:trim(title1)}

fn:replace(title1, " ", " /")=${fn:replace(title1, " ","/") }


fn:indexOf(title2, str1)=${fn:indexOf(title2, str1)}

fn:contains(title1, str1)=${fn:contains(title1, str1)}

fn:contains(title2, str1) = ${fn:contains(title2, str1)}

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

JSP 파일 업로드 라이브러리 설치  (0) 2019.12.26
표현언어(EL)와 JSTL 회원 관리  (0) 2019.12.26
문자열 처리 함수  (0) 2019.12.26
formating tag lib 예제  (0) 2019.12.26
포매팅 태그 라이브러리 (fmt tag lib)  (0) 2019.12.26
블로그 이미지

꽃꽂이하는개발자

,
반응형

  자바에서 문자열을 처리할 때 사용하는 문자열 관련 기능을 JSTL에서 제공하는 함수를 이용해 JSP에서도 사용할 수 있다.

함수 변환 설명
fn:contains(A, B) boolean 문자열에 A가 문자열 B를 포함되어 있는지 확인
fn:endWith(A, B) boolean 문자열 A의 끝이 B로 끝나는지 확인합니다.
fn:indexOf(A, B) int 문자열 A에서 B가 처음으로 위치하는 인덱스(index)를 반환합니다.
fn:length(A) int 문자열 A의 전체 길이를 반환합니다.
fn:replace(A, B, C) String 문자열 A에서 B까지 해당되는 문자를 찾아 C로 변환합니다.
fn:toLowerCase(A) String A를 모두 소문자로 변환합니다.
fn:toUpperCase(A) String A를 모두 대문자로 변환합니다.
fn:substring(A,B,C) String A에서 인덱스 번호 B에서 C가지 해당하는 문자열을 반환합니다.
fn:split(A, B) String A에서 B에서 지정한 문자열로 나누어 배열로 반환
fn:trim(A) String 문자열 A에서 앞뒤 공백을 제거합니다.
반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

  우선 formatTest.jsp파일을 만들도록 하겠습니다.

  변수 price를 <fmt:formatNumber>태그를 이용해 숫자를 포매팅하고 price값을 각각의 형식에 맞게 출력합니다. 이때 price의 값을 세 자리마다 콤마(,)로 구분해서 표시합니다. 단, groupingUsed를 false로 설정한 경우는 콤마(,)를 표시하지 않으며 <fmt:formatNumber> 태그의 var 속성에 설정한 priceNumber로 포매팅한 숫자를 표현 언어에서 출력합니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

  숫자 또는 날짜와 관련된 포매팅 태그 라이브러리의 종류.

분류 태그 설명
포매팅 <fmt:timeZone>   둘 다 지정한 국가의 시간을 지정하는 태그 입니다. 그러나<fmt:timeZone>태그의 경우 태그를 열고 닫는 영역 안에서만 적용된다는 차이가 있습니다.
<fmt:setTimeZone>
<fmt:formatNumber>   표시할 숫자의 형식을 지정합니다.
<fmt:formatDate>   지정한 형식의 날짜를 표시합니다.

 

<formatNumber>태그의 여러가지 속성

속성 설명
value  출력될 숫자를 지정합니다.
type 출력된 타입을 지정합니다. percent인 경우 %, number인 경우 숫자, currency인 경우 통화 형식으로 출력합니다.
groupingUsed

콤마(,)등 기호로 구분 여부를 지정합니다. 이 속성이 true이면 50000이 50,000으로 표시됩니다.

기본값은 true입니다.

dataStyle

날짜의 출력 형식을 지정합니다.

DateFormat 클래스의 full, long, medium, short 등이 지정되어 있습니다.

currencyCode 통화 코드를 지정합니다. 한국원화는 KRW입니다.
currentSymbol 통화를 표시할 때 사용할 기호를 표시합니다.
var <formatNumber>태그 결과를 저장할 변수의 이름을 지정합니다.
scope  변수의 접근 범위를 지정합니다.
pattern 숫자가 출력될 양식을 지정합니다. 자바의 DecimalFormat 클래스에 정의된 형식을 따릅니다.

 

<formatDate>태그의 여러가지 속성

속성 설명
value 포맷될 날짜를 지정합니다.
type

포매팅할 타입을 지정합니다.

date인 경우 날짜만, time인 경우 시간만, both인 경우 모두 지정합니다.

dateStyle

날짜의 출력 형식을 지정합니다.

DateFormat 클래스의 full, long, medium, short 등이 지정되어 있습니다.

timeStyle

시간 출력 형식을 지정합니다.

자바 클래스 DateFormat에 정의된 형식을 사용합니다.

pattern

직접 출력 형식을 지정합니다.

자바 클래스 SimpleDateFormat에 지정된 패턴을 사용합니다.

timeZone 특정 나라 시간대로 시간을 설정합니다.
반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

문자열 처리 함수  (0) 2019.12.26
formating tag lib 예제  (0) 2019.12.26
다국어 태그 라이브러리 한글 아스키 파일 만들기  (0) 2019.12.26
다국어 태그 라이브러리  (0) 2019.12.26
JSTL Core tag image list 출력  (0) 2019.12.26
블로그 이미지

꽃꽂이하는개발자

,
반응형

이전글에서 다국어 태그 라이브러리를 설치하였습니다. 이제 한글 아스키 코드를 저장하는 properties 파일을 만들어 보겠습니다.

 

  src패키지 내에 resource 패키지를 생성해 주시고 오른쪽 버튼을 클릭한 후 new에 other을 선택해서 file을 member.properties를 입력한후 finish를 만들어 줍니다.

나머지 2개의 파일들도 같은 방법으로 만들어 줍니다.

 

member.properties에 위와 같이 입력해 주시고 드래그 한 다음에 마우스 오른쪽 클릭 Unicode표시를 클릭해줍니다.

그럼 위와같이 unicode가 나오게 되는데 이것을 복사해서 member_ko.properties 파일을 열어 복사 붙여넣기 해줍니다.

그리고 member_en.properties 파일을 열어 동일한 key에 대한 회원 정보를 영어로 따로 입력합니다.

 

WebContent폴더 내에 test05를 만들어주고 message1.jsp 파일을 만들어 주겠습니다.

 

<fmt:setLocale>태그를 이용해 표시할 locale(언어)을 지정한 후 <fmt:bundle>태그를 이용해 resource 패키지의 프로퍼티 파일을 읽어 옵니다. 그리고 <fmt:message>태그를 이용해 프로퍼티 파일의 키에 대한 값을 각각 출력합니다.

<fmt:setLocale value="ko_KR" />부분을 주석처리하고 위에있는 fmt:setLocale 부분을 주석해제 해 주시면

출력은 영어로 됩니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

formating tag lib 예제  (0) 2019.12.26
포매팅 태그 라이브러리 (fmt tag lib)  (0) 2019.12.26
다국어 태그 라이브러리  (0) 2019.12.26
JSTL Core tag image list 출력  (0) 2019.12.26
JSTL Core tag lib 구구단  (0) 2019.12.26
블로그 이미지

꽃꽂이하는개발자

,