Framework/Ajax2011. 9. 21. 20:04






Testlmpl.java라는 클래스를 만듭니다.

여기서는 데이터베이스에 접속해서 값을 가지고 오는 역할을 할것입니다.
 

저는 오라클 11g를 써서 테이블을 하나 만들었습니다.

Login 테이블 만듭니다.

Create table login(id varchar2(30), pass varchar2(30));

값을 집어넣습니다.

insert into login values('1', '1');

아이디에 1  비밀번호에도 1 을 집어 넣습니다.


Testlmpl의 클래스에서는 데이터베이스에서 값을 얻어와서

xml형태로 값을 집어 넣은후 PrintWriter 클래스를 만들어서 출력을 해볼것입니다.

xml형태는

<human>
 <Member>
     <id>(데이터베이스에서 받아올 아이디값)</id>
     <pass>(데이터베이스에서 받아올 비밀번호값)</pass>
 </Member>
</human>

이런형태로 출력을 하게 될것입니다. 

response.setContentType("text/xml");  xml파일로 응답
 
Posted by NeverTry
Framework/Ajax2011. 9. 21. 19:52

package Opertion;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// 이 파일은 톰캣이 동작하면 실행하는 클래스로
//@Override
//public void init(ServletConfig config)
//이 파일을 먼저 읽습니다.
//init에서는 .forums의 내용을 읽어서 처리를 합니다
// 즉 Model의 역할을 합니다.
//doGet = get방식       doPost = post방식 들어올때 처리하는 Method며
//extradite(request, response); 이 메소드에서는
//View역할을 합니다. 
 

public class Controller extends HttpServlet {

	private Map conversion = new HashMap();

	@Override
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		extradite(request, response);
	}

	@Override
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		extradite(request, response);
	}

	@Override
	public void init(ServletConfig config) throws ServletException {
		String readProperties = config.getInitParameter("forums");
		Properties passProperties = new Properties();
		FileInputStream wantProperties = null;

		try {
			wantProperties = new FileInputStream(readProperties);
			passProperties.load(wantProperties);

		} catch (IOException e) {
			throw new ServletException(e);
		} finally {
			if (wantProperties != null)
				try {
					wantProperties.close();
				} catch (IOException ex) {
				}
		}

		Iterator takeKeyValue = passProperties.keySet().iterator();

		while (takeKeyValue.hasNext()) {
			String keyValue = (String) takeKeyValue.next();
			String className = passProperties.getProperty(keyValue);

			try {
				Class makeClass = Class.forName(className);
				Object makeObject = makeClass.newInstance();
				conversion.put(keyValue, makeObject);
			} catch (Exception e) {
				System.out.println("클래스가 안만들어졌나보네요");
				e.printStackTrace();
			}
		}
	}

	public void extradite(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		JustAvatar lmpl = null;

		try {
			String takeUri = request.getRequestURI();
			if (takeUri.indexOf(request.getContextPath()) == 0) {
				takeUri = takeUri.substring(request.getContextPath().length());
			}
			lmpl = (JustAvatar) conversion.get(takeUri);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

'Framework > Ajax' 카테고리의 다른 글

AJAX 예제(9) (Testlmpl.java(2))  (0) 2011.09.21
AJAX 예제(8) (Testlmpl.java(1))  (0) 2011.09.21
AJAX 예제(6) (forums & ⓜⓥⓒ ⓒ=Control 설정)  (0) 2011.09.21
AJAX 예제(5) (Servlet 설정)  (0) 2011.09.21
AJAX 예제(3) (test.js)  (0) 2011.09.21
Posted by NeverTry
Framework/Ajax2011. 9. 21. 19:44


WebContent에서 오른쪽 버튼을 눌러 파일을 만든다.


앞에 이름은 아무거나 하면 되고 .forums를 <init-params>이름인 forums를 맞춰준다.

그 파일에 내용에는 한줄을 추가한다.

test.leaf란 파일 이름이 오면 Opertion패키지 밑에 있는  Testlmpl.java가 동작할것이다.



받아올 Interface를 하나 만든다. 이 파일은 Control이란 파일 안에서 쓰이므로 미리 만들어 둔다.



패키지는 Opertion 클래스 JustAvatar 입니다.

JustAvatar 인터페이스 내용



Model View Control중  Control을 만든다.



src -> new  -> Class를 선택



패키지 이름 =  Opertion  

클래스 이름 = Controller

만든다.

'Framework > Ajax' 카테고리의 다른 글

AJAX 예제(8) (Testlmpl.java(1))  (0) 2011.09.21
AJAX 예제(7) (Controller.java)  (0) 2011.09.21
AJAX 예제(5) (Servlet 설정)  (0) 2011.09.21
AJAX 예제(3) (test.js)  (0) 2011.09.21
AJAX 예제(4) (JAVASCRIPT 내용)  (0) 2011.09.21
Posted by NeverTry