[객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현

 1  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-1
 2  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-2
 3  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-3
 4  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-4
 5  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-5
 6  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-6
 7  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-7
 8  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-8
 9  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-9
 10  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-10
 11  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-11
 12  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-12
 13  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-13
 14  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-14
 15  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-15
 16  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-16
 17  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-17
 18  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-18
 19  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-19
 20  [객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현-20
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[객체지향프로그래밍 설계] MVC(Model-View-Controller) Model Architecture & Pattern Research 및 JSP2 사례 조사 및 구현에 대한 자료입니다.
목차
1. 모델 [model]

- Model 1 vs Model 2

ⅰ) Model1 구조

ⅱ) Model 2 구조

2. 아키텍처의 정의 및 종류

(1) 아키텍처의 정의

(2) 아키텍쳐의 종류

ⅰ) 소프트웨어 아키텍쳐의 세 가지 주요 요소


ⅱ) 소프트웨어 아키텍쳐의 기본산출물

3. MVC(Model-View-Control) Model

4. MVC(Model-View-Controller) Pattern

5. MVC(Model-View-Controller) JSP 구현 사례

6. Multi chatting program 설계

(1) 교재에 있는 multi chatting program

(2)추가 기능 성공 예제

7. 추가 사례를 통한 MVC의 구체적 이해제시

8. 참고문헌



본문내용
(2)추가 기능 성공 예제
사실 저희 11조는 교재에 있는 소스를 활용하지 않고 참고문헌을 활용하여 채팅프로그램 작성을 기말고사 전에 마칠 수 있었습니다. 하지만 프로그램이 난이도가 높지 않고 교수 님께서 원하시는 다양한 기능에 대한 추가가 없었기에 저희 조는 보다 고급 기술을 이용 한 멀티 채팅프로그램을 새롭게 계획, 설계 및 구현하게 되었습니다. 따라서 저희가 이전 에 업로드 하였던 계획이나 프로그램 코드와는 다른 것을 알려드립니다.
저희 조는 스레드를 이용한 멀티 채팅프로그램을 구현 할 뿐만 아니라 vertor 클래스를 이용하여 채팅방을 구현하는데 도전을 하였습니다. 채팅방을 구현하는데 많은 시간을 들 였기에 특별한 기능의 추가는 하지 못하였습니다. 그리고 다양한 프로그램의 소스를 추가 하여 코딩하였기 때문에 깔끔하게 코딩되지 못하였습니다.


import java.awt.*;
import java.util.*;
import java.net.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.print.*;

class Server extends JFrame implements Runnable,ActionListener{
Vector globalvc=new Vector();
Vector roomvc=new Vector();

private JTextArea ta=new JTextArea();
private JScrollPane scroll=new JScrollPane(ta);
private JMenuBar jmb=new JMenuBar();
private JMenu file=new JMenu("File");

private JMenuItem news=new JMenuItem("New");
private JMenuItem exit=new JMenuItem("Exit");

private FileDialog fd;
private JToolBar toolbar=new JToolBar();
private JButton newbutton;
private JPanel panel;

Server(String title){
setTitle(title);
Font ff=new Font("Dialog",Font.PLAIN,12);
Color back=new Color(255,240,255);
Color colormenu=new Color(240,255,0);
Container c=getContentPane();

ta.setFont(ff);
ta.setBackground(back);
c.setLayout(new BorderLayout());

news.setBackground(colormenu);
exit.setBackground(colormenu);

news.setToolTipText("새글");
ta.setForeground(Color.blue);
jmb.setBackground(colormenu);
file.add(news);
file.addSeparator();
file.add(exit);
jmb.add(file);

c.add(jmb,BorderLayout.NORTH);

panel=new JPanel();
panel.setLayout(new BorderLayout());
panel.add(toolbar,BorderLayout.NORTH);
panel.add(scroll,BorderLayout.CENTER);

c.add(panel,BorderLayout.CENTER);

//Event감지
news.addActionListener(this);
exit.addActionListener(this);

setBounds(100,100,300,600);
setVisible(true);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void run(){
//클라이언트가 접속을 할수 있도록 SeverSocket 생성
ServerSocket ss=null;
try{
ss=new ServerSocket(9988);//9988포트
}catch(Exception ex){
ta.append("서버실행실패\n");
System.exit(0);
}
ta.append("The Catholic University of Korea 11조 \n Dong-Eun, Jae-Young, Kyung-Yong\n Server ready!!\n");
//소켓을 생성(접속)
Socket s=null;
while (true){ // 클라이언트 접속대기
try{
s=ss.accept();
ta.append("Client"+s+"접속\n");
Service ser=new Service(s); // 접속한클라이언트 정보를 가지고 객체 생성
}catch(Exception e){
ta.append("Server run()"+e);
}
}
}
//시작부분
// inner class작성 -> 클라이언트와 직접적으로 통신
class Service extends Thread{
//멤버변수선언
BufferedReader in;
OutputStream out;
String name; // 클라이언트의 대화명
Room myroom=new Room(); // 기본생성자->방->대기실

//생성자함수
Service(Socket s){ // 클라이언트 정보 s를 매게변수
try{
// 채팅하기위해서
out=s.getOutputStream(); // 출력스트림 생성
in=new BufferedReader(new InputStreamReader(s.getInputStream()));
name=in.readLine(); // name->클라이언트(대화명)
myroom.title="대기실";
}catch(Exception ex){
ta.append("Service 생성실패\n");
ex.printStackTrace();
}
for (int i=0;i 각 client에게 전달
myroom=new Room(st.nextToken(), name, 1); //만들어진방,방장,인원1
myroom.uservc.addElement(this); //만들어진방 벡터에추가
//각Client에게 이방이 만들어졌음을 알려준다.
roomvc.addElement(myroom); // 방리스트에 방을 추가
putMessageAll("200|"+myroom.title+"|"+0);
putMessageAll("205|"+name+"|"+myroom.title);
}break; // case200

// 추가
case 210:{
String t=st.nextToken(); // title(방제목)
for (int i=0;i
참고문헌
[1] 두산백과사전 EnCyber &EnCyber.com
[2] 김은옥, “JSP 2.0 웹 프로그래밍”, 삼양미디어, 2007
정희철 싸이월드 블로그, http://www.cyworld.com/i2b_jhc/3573275
[3] Whatis.com Inc., http://www.terms.co.kr/architecture.htm
[4]「Model-View-Controller」,『J2EE Patterns』,2010.03.29,
http://java.sun.com/blueprints/patterns/MVC-detailed.html
[5] 이성몽 네이버 블로그,
http://blog.naver.com/santalsm?Redirect=Log&logNo=110035101190
[6]「Model-View-Controller」,『J2EE Patterns』,2010.03.29,
http://java.sun.com/blueprints/patterns/MVC-detailed.html
[7] 최범균, “MVC 프레임워크로 구현한 JSP 실전 Know-How", 가메출판사, 2003
[8] "MVC Pattern, javascript Opener, ",
http://kkhhss1012.springnote.com/pages/4444289
[9] 김형준, 2003, “JSP Model2(MVC 패턴)를 이용한 웹사이트 구축”.