기본 콘텐츠로 건너뛰기

2011의 게시물 표시

ASP.NET MVC 구성도

출처 : Posted in 모바일, 그리고 웹(Web)/ASP.NET MVC // Posted at 2010/07/23 16:25 ASP.NET MVC 구성도 Routing System ASP.NET MVC 프레임워크에서는 요청 URL 에 대한 라우팅 엔진을 포함하고 있다 사실 URL 라우팅은 MVC 설계 원칙과는 별개의 주제라 할 수 있다 그러나 ASP.NET MVC 프레임워크는 현재 유명하고 유용한 웹 개발 기술을 많이 채용하고 있다 URL 라우팅 역시 그러한 일환 중 하나라고 보면 되겠다 보통 웹 요청 URL은 말그대로 웹 서버의 자원를 직접 가르키도록 되어있다 예를 들면 http://mydomainxxx.com/home/default.html 형태의 URL이며 실제 웹 서버에 있는 home 폴더의 default.html 파일을 가르키는 것이다 그러나 라우팅 엔진을 이용하면 웹 서비의 물리적인 디렉터리,파일 구조와 직접 매칭되지 않아도 된다 더불어 웹 페이지에 전달되는 파라메타 정보 역시 기존의 default.html?name1=value1&name2=value2 형태처럼 지저분(?)하지 않게 되었다. ASP.NET MVC에서 라우팅 룰(규칙)은 Global.asax 파일에 정의되어 있다 다음에 자세히 알아 보자 Controller 어찌보면 MVC 프레임워크의 중심 역할이 아닌가 한다 모든 요청은 컨트롤러(Controller)에게 전달되고 이 컨트롤러에 의해 적절한 모델과 뷰가 선택되는 것이다. 즉 모델과 뷰의 중간에서 요청을 중계, 처리하는 역할을 한다 ASP.NET MVC의 컨트롤러 클래스는 System.Web.Mvc.Controller 에서 상속받도록 한다 역시 다음에 자세히 알아 본다 Action Method Controller 클래스에 정의된 메서드이다 컨트롤러에서 실제 요청을 처리하게 되는 메서드라 보면 된다 특...

ASP.NET MVC 4

출처 : Posted in 모바일, 그리고 웹(Web)/ASP.NET MVC // Posted at 2010/08/09 12:11 웹 리소스 요청 막기, HttpNotFoundHandler ASP.NET MVC 모델에서는 (Views 폴더의) 모든 웹 리소스에 대한 직접 요청을 막아 두었다 사용자 화면(뷰)에 해당하는 Views 폴더에 있는 모든 aspx 파일에 대한 다음과 같은 요청은 모두 404 Not Found 로 처리된다 http://yourdomain.com/Views/Index.aspx 이것은 기존 웹폼 모델과 대조되는 면으로, ASP.NET MVC에서의 사용자 화면(뷰)은 모두 컨트롤러에 의해 선택되고 랜더 되게 하기 위함이다 따라서 리소스에 대한 직접 요청은 의도적으로 막고 있는 것이다 Views 폴더의 Web.config 에 정의된 HttpNotFoundHandler Visual Studio 에서 ASP.NET MVC 프로젝트를 생성하면 총 두개의 Web.config 가 생성된다 루트에 있는 Web.config 는 기존과 같이 응용프로그램 전역적인 설정 파일이며 Views 폴더의 Web.config 는 Views 폴더에만 적용되는 설정 파일인데, 이 파일에 정의된 HttpNotFoundHandler 가 리소스 직접 요청에 대한 Not Found 처리를 하는 HttpHandler 이다 <httpHandlers>      <add path="*" verb="*"  type="System.Web. HttpNotFoundHandler "/> </httpHandlers> 위와같이 정의된 핸들러에 의해 Views 폴더의 aspx 파일을 포함한 모든 직접 요청은 404로 처리된다 참고로 ASP.NET 웹폼 모델에서는 *.aspx 에 대한 처리는 System....

ASP.NET MVC 3

출처: Posted in 모바일, 그리고 웹(Web)/ASP.NET MVC // Posted at 2010/08/06 16:38 ASP.NET MVC, 폼 데이타 전송하기 앞서 ASP.NET MVC 에서 요청 매개변수 넘기기 에서는 URL 질의 방식에 ASP.NET MVC이 어떻게 반응하는지 알아 보았다. URL에 매개변수를 전달하는 방식은 GET 요청에 해당한다 이번에는 ASP.NET MVC이  POST 요청을 어떻게 처리하는지 알아 보도록 하자 POST 요청의 보편적인 모습은, HTML 입력 양식을 이용한 폼 데이타 제출이다 이 글에서는 간단한 회원가입 폼을 POST 로 전송하고 이를 처리하는 방법을 다룬다 ASP.NET MVC 프로젝트를 하나 생성하고 컨트롤러에 엑션 메서드를 하나 추가한다 - HomeController.cs 에 액션 메서드 추가하기 public ActionResult RegisterForm() {               return View(); } - 회원 가입 페이지 (뷰)  생성하기 그리고 이 액션 메서드에 해당하는 뷰를 생성한다 생성된 RegisterForm.aspx 뷰 페이지는 회원가입 입력 양식을 아래와 같이 정의한다 < body >     < h1 > 회원가입 </ h1 >        < form action ="/Home/RegisterForm" method ="post">                < p > 아이디 : < ...

ASP.NET MVC 2

* 이문서는 박종명님블로그 를 기반으로 만들어진 문서입니다.    Posted in 모바일, 그리고 웹(Web)/ASP.NET MVC // Posted at 2010/08/05 13:39 ASP.NET MVC 에서 요청 매개변수 넘기기 이전 ASP나 ASP.NET 웹폼 모델에서는 URL의 꼬리표에 붙여 있는 매개변수를 Request 객체를 통해전달 받을 수 있었다 즉 다음과 같이 두 개의 매개변수를 URL 에 붙여서 매개변수를 전달하게 되면, 요청 URL: http://yourdomain/main.aspx ?param1=value1&param2=value2 아래처럼 매개변수 정보를 취할 수 있다(ASP.NET 기준) string value1 = Request.QueryString["param1"] .ToString(); string value2 = Request.QueryString["param2"] .ToString(); 그렇다면 ASP.NET MVC 모델에서는 매개변수를 어떻게 전달하고 받는지 알아보도록 하자 기본은 동일하다 ASP.NET MVC 역시 이전 웹폼 모델과 동일한 형태로 매개변수를 넘기고 받을 수 있다 즉 아래와 같이 요청 URL 에 ? 꼬리표로 매개변수를 전달하면 HomeController 의 Index 액션 메서드에서 다음과 같이 매개변수에 접근할 수 있게 된다 요청 URL: http://localhost:11102/Home/Index/ ?name=Park&age=10 public ActionResult Index() {     string name = Request.QueryString[ "name" ] .ToString();    string age = Request.QueryString[ "age...

ASP.NET MVC 1

* 이문서는 박종명님블로그 를 기반으로 만들어진 문서입니다.    Posted in 모바일, 그리고 웹(Web)/ASP.NET MVC // Posted at 2010/08/05 13:39 가장 심플한 형태의 ASP.NET MVC 를 만들어 보자 모든 개발 공부는 가장 기본적인 구조에서 부터 출발하여 기술확장, 응용력확장을 해 나가는 것이 원칙이다. 처음부터 복잡한 형태를 이해하려고 하면 진입이 어려워서 쉽게 흥미를 잃어버리기 마련이다. 따라서 ASP.NET MVC 기반의 Hello World 샘플을 제작해 보도록 한다 1. ASP.NET MVC 프로젝트 생성 Visual Studio 2008 에서 새프로젝트를 만든다 아래그림과 같이 ASP.NET MVC2 Web Application 템플릿을 선택 하고 프로젝트와 솔루션 이름은 HelloWorld 로 한다 확인을 클릭하면 아래 그림과 같이 유닛테스트 프로젝트 생성 여부를 묻는데, 우리는 간단한 데모를 빨리 만들어 볼 목적이므로 생성하지 않도록 한다 이렇게 프로젝트를 생성하면 VS는 자동으로 응용프로그램을 코드와 파일들을 마련해 주는데 이 자체가 하나의 ASP.NET MVC 프로그램이 된다 바로 F5를 눌러 실행시켜 보도록 하자 그러면 아래 그림과 같이 적당히 이쁜 웹 페이지를 브라우저에서 확인할 수 있다 간단한 멤버십 기능과 Home, About 링크가 제공된다 이 차제만으로도 훌륭한 샘플 데모이지만 처음 보기에는 조금 복잡해 보일 수도 있다 우리는 자체적으로 Hello World 만 출력해 볼 목적이므로 관련 파일들을 정리하도록 한다 2. 프로젝트 자동 생성 파일 정리하기 처음 생성된 프로젝트 구조를 보면 아래 왼쪽 그림과 같이 꽤 많은 파일들이 포함되어 있다 이를 오른쪽 그림과 같이 설정파일과 폴더구조만 남겨두고 모든 파일을 삭제하자 => 이렇게 파일들을 제거하고 다시 실행을 해 ...

안드로이드 개발 환경 구축하기

*이문서는 아웃사이더 님블로그를 기반으로 만들어진 문서입니다. 1 . 버전정보 1. Android SDK : android_sdk_r10 2. Eclipse : Helios Service Release 2 2. 구축순서 1. 안드로이드 SDK 설치 2. 이클립스에 ADT 플러그인 설치 3. 안드로이드 플랫폼 및 컴포넌트 추가 3. 안드로이드 SDK 설치 개발환경은 Windows, Mac OS X, Linux 모두 가능합니다. 이클립스가 필요하고 자바기반이므로 당연히 JDK 5이상이 필요합니다. [SDK 다운로드 페이지] http://developer.android.com/sdk/index.html OS맞는 안드로이드 SDK를 다운로드 받은 뒤에 별도의 설치 없이 원하는 위치에 압축을 풀어주면 됩니다. 예) C:\Program Files\android-sdk-windows [내 컴퓨터] - [속성] - [고급]탭 - [환경변수] - 시스템변수에서 Path에 SDK의 tools폴더의 전체 경로를 추가해줍니다. (예) C:\Program Files\android-sdk-windows\tools 입니다.) ~./bash_profile나 ~/bashrc파일을 수정하거나 sudo gedit /etc/environment 로 path부분에 tools폴더의 절대경로를 추가해주면 됩니다. 추가된 패스는 재로그인후에 적용이 되며 env 나 echo $PATH 명령어를 통해서 적용여부를 확인할 수 있습니다 OSX의 경우 sudo vi /etc/paths 를 실행한 뒤에 안드로이드 SDK 의 tools의 경로를 입력해 준 뒤에 재 로그인한다. path의 확인은 우분투와 동일하게 env 나 echo $PATH 를 통해서 확인해 볼 수 있습니다. 4. ADT 이클립스 플러그인 설치 ADT(Android Development Tools) 플러그인은 이클립스에서 안드로이드를 개발할 수 있도록 해주는 플러그인입니다. 이클립스에서는 [Help...