본문 바로가기

WEB_Programming/Struts

EncodingFilter 로 한글 처리 하기 인코딩은 영어권 개발자가 아닌경우에는 필수적으로 변환을 해야하는 작업이다. 이러한 인코딩 작업을 위해서 기존에 개발자들은 매번 다음과 같은 코드를 작성하는 수고를 했어야 했다. String name = new String(request.getParameter("name").getBytes("iso-8859-1"), "UTF-8"); 그러나 이러한 작업은 매우 번거롭고 귀찮은 작업이 아닐수 없다. 전달되는 파라미터가 몇개인데... 말이다. 그럴때 다음과 같이 인코딩 필터를 이용하여 사용하면 편리할 것이다. package XXX; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import ja.. 더보기
로그인 필터 예제 (Redirect 처리) Simple Authentication Servlet Filter with JSP/Servlet 자바에서 Servlet filters는 authetication, compression, auding, logging, image conversion, 웹 컨텐츠의 국제화등을 중앙에서 관리할 수 있도록 구현해 주는 인터페이스이다. 여기서 보여주는 서블릿 필터의 예제는 어떻게 간단하게 Java 기반의 웹 애플리케이션에서 인증을 수행하는가에 대해서 보여준다. 이것은 고객이 로그인을 수행했는지 여부와, 페이지가 익스파이어 되었는지, 그리고 각 페이지에 대한 퍼미션 정보를 이 컨텐츠를 통해서 다른 웹 페이지에서 수행하지 않도록 해 준다. 디자인 시나리오는 간단하다. HTTP request가 들어왔을때 로그인 하지 않.. 더보기
서블릿 필터 예제 (로그인에 이용해보기) Example: Servlet filters 이 예제는 서블릿 필터를 이용하여 pre-login과 post-login 처리를 로그인 폼을 이용하여 처리하도록 하는 예제이다. Servlet filter source code: LoginFilter.java /** * 서블릿 필터 예제 : 이 필터는 j_security_check와 사용자가 로그인을 * 수행하고자 할 경우 pre-login 액션을 수행할 수 있도록 하고, 로그인시 * 에러가 발생한 경우 브라우저 단으로 에러를 보내는 일을 수행한다. * * 이 필터는 init() 메소드에서 FilterConfig로부터 전달된 리스트 파일 이름을 * 호출하는 역할을 수행한다. 이것은 호출된 사용자 리스트 파일을 읽고 * 호출된 사용자 리스트를 생성하는 작업을 수.. 더보기
스트러츠 리소스 번들 이용방법 Struts: Resource Bundles in Action원하는 에러메시지를 주어졌을때 그 메시지를 보여주고, 하드코딩하지 않고도 국제화를 지원할 수 있도록 쉬운 변경을 제공한다. (이것은 고객이 직접 사이트에 들어온경우 자동으로 변경된다.) 이러한 마술같은 일은 리소스 번들을 통해서 이루엊진다. 애플리케이션 속성 첫번째 /WEB-INF/classes/Application.properties를 지정한다. errors.required={0} is required. entercoupon.jsp.prompt.customer.name=Customer Name entercoupon.jsp.prompt.customer.number=Customer Number 이것은 실제 파일의 한 부분에 대해서, 나는 많은 다.. 더보기
Struts 프레임워크 적용 구조 프로젝트에서 주로 사용하는 프레임워크 구조와 흐름을 기술해 보았다. 1. Controller 단 - Struts에서는 이 컨트롤러가 Action을 상속받아 이루어지며, 사실 컨트롤러는 화면으로부터 들어온 요청을 어떤 경로를 통해서 내용이 처리될지에 대한 흐름만 담당하도록 개발한다. 2. Model 단 - Struts에서는 특별히 모델을 이거다 라고 정의하지 않지만 나는 보통 모델을 2가지 관점에서 정의하고 싶다. 2.1 비즈니스 로직으로서의 모델 : 우리가 보통 사용하는 Bean으로 여기서는 Manager Bean으로 정의하고 이 빈의 내용을 통해서 비즈니스 로직을 수행한다. 2.2 ValueObject및 FormBean으로서의 모델 : 모델의 경우 비즈니스 로직을 처리한 결과 객체를 고객단으로 이동시키.. 더보기
6.2 Installation 6.2 Installation "Would you tell me, please, which way I ought to go from here?" "That depends a good deal on where you want to get to." "I don't much care where" "Then it doesn't much matter which way you go." "so long as I get somewhere." "Oh, you're sure to do that, if only you walk long enough." Prerequisite Software 프레임워크의 바이너리 배포판은 다른 소프트웨어 패키지가 필요하다. 이미 시스템에 이러한 항목을 설치 했을 수 있다. 소스로 부터 프레임.. 더보기
3. Building View Components 3. Building View Components "What if I should fall right through the center of the earth... oh, and come out the other side, where people walk upside down." 3.1 Overview 프레임워크는 뷰 컴포넌트를 위해서 이프라스트럭처를 제공한다. 그러나 그것이 소유한 뷰컴포넌트의 실제적인 면은 제공하지 않는다. 몇몇 presentation technologies 을 가능하게 한다. Cocoon, JSP, Velocity Templates, XSLT와 같은것들을 포함되어 사용될 수 있다. 프레임워크에 의해서 제공되는 기능은 국제화 지원되는 텍스트와 이미지를 위해서 Message Resour.. 더보기
2. Building Model Components 2. Building Model Components "If I had a world of my own, everything would be nonsense. Nothing would be what it is, because everything would be what it isn't. And contrary wise, what is, it wouldn't be. And what it wouldn't be, it would. You see?" 2.1 Overview 많은 요구사항 문서는 웹 애플리케이션 개발에 있어서 View에 포커싱을 두고 있다. 그러나 각 submit된 요청에 대해서 처리를 확실히 하고자 한다면 Model관점에서 명확하게 정의해야 한다. 일반적으로 모델 컴포넌트의 개발은 기능 요구사항의.. 더보기