The document provides instructions on setting up a Java web development environment and creating a simple "Hello World" web application using Java, Tomcat, Eclipse, and JSP. It discusses downloading and installing VirtualBox, Windows XP, JDK, Tomcat, Eclipse, and creating a basic JSP file to output "Hello World!". It then covers more advanced topics like connecting to a MySQL database using JDBC and performing CRUD operations.
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
자바 웹 개발 시작하기 (1주차 : 웹 어플리케이션 체험 실습)
1. 자바 웹 개발 시작하기
(1주차 : 웹 어플리케이션 체험 실습)
2011. 10. 26
DEVELOPMENT #2
이덕곤
2. § 환경구축 Hello, world 데모 순서 (약 30분)
§ VirtualBox 다운로드 및 설치
§ WindowsXP 설치 (빵집 다운로드 및 설치)
§ JDK 다운로드 및 설치
§ Tomcat 다운로드 및 설치
§ Eclipse 다운로드 및 설치 (Java폴더 만들어서)
§ UTF-8 설정
§ 서버 만들기
§ JSP파일 만들어서 Hello, world! 출력하기
3. § 환경구축 어렵다는 말은 옛말(물론 서비스용은..)
§ 윈도설치시간 다운로드시간 제외하면 10분이면 OK
§ 다운로드 URL
§ VirtualBox : https://www.virtualbox.org/
§ JDK : http://java.sun.com/
§ Tomcat : http://tomcat.apache.org/
§ Eclipse : http://eclipse.org/
§ 빵집 : http://www.bkyang.com/
4. § 사실 거의 모든 웹 개발은 게시판 개발 (DB필요)
§ 다운로드 URL
§ MySQL 설치
§ http://mysql.org/
§ SQLyog
§ http://sqlyog.org/
§ http://code.google.com/p/sqlyog/downloads/list
§ JDBC driver for MySQL
§ http://www.mysql.com/downloads/connector/j/5.1.html
5. § DB생성
CREATE DATABASE `study`
CHARACTER SET utf8 COLLATE utf8_unicode_ci;
§ 테이블 생성
CREATE TABLE `test` (
`idx` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`idx`)
) ENGINE=InnoDB AUTO_INCREMENT=1
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
6. § JSP가 모든 것을 처리
웹 서버
①요청
Web Browser
②HTML인 경우
HTML
httpd
③JSP인경우
웹 컨테이너
웹컨테이너
JSP
(빈즈호출)
JSP
④<JSP:useBean../>
⑥다음 JSP호출
DB
⑤DB처리
모든 것을 처리하는 슈퍼 울트라 캡송 JSP
JSP
(결과뷰어)
<% … %>
⑦<JSP:useBean../>
BANS
9. § 목록보기 쿼리
String query = "select * from test order by idx desc";
§ 쿼리 실행
rs = stmt.executeQuery(query);
while(rs.next()) {
<%= rs.getString("idx") %>
<%= rs.getString("subject") %>
}
10. § 글 쓰기 쿼리
String query = "insert into test (subject) value ('"+ subject +"')";
§ 글 수정 쿼리
String query = "update test set subject = '"+ subject +"' "
+ ”where idx = '"+idx+"'";
§ 쿼리 실행
int count = stmt.executeUpdate(query); // 리턴값은 실행 수
11. § 페이지에 대한 클래스 정보
<%@ page contentType = "text/html; charset=UTF-8" %>
<%@ page pageEncoding = "UTF-8" %>
<%@ page import = "java.sql.*" %>
§ 완료 후 처리
<% if(count > 0) { %>
<% response.sendRedirect("/"); %>
<% } else { %>에러<% } %>
12. § MVC모델로 나누어 처리
웹 서버
Web Browser
①요청
②HTML인 경우
httpd
HTML
③JSP인경우
웹 컨테이너
<<Controller>>
Servlet or JSP
④<JSP:useBean../>
<<Model>>
웹컨테이너
DB
빈즈
⑦적절한 View로 포워딩
<<View>>
<<View>>
JSP
JSP
⑤DAO 클래스 사용
<<DAO>>
클래스
⑥ DB 접속
및 처리
14. § 스프링 및 기타 프레임워크로 구성
5.1.XX
개발 : Eclipse 3.7.1
(SVN : 버전관리, Log4j : 로그)
Java SE 6 update X
Java EE 5
Spring MVC : WEB
(컨트롤 부분)
JSP 2.0(JSTL 1.1, EL)
(뷰 부분)
MySQL Connector For Java 5.1.XX
2.3 DAO
(모델 부분)
POJO Bean : Domain, Service
(비즈니스 부분)
Tomcat 6.0.XX (Servlet 2.5, JSP 2.1)
15. § 스프링과 하이버네이트를 이용한 게시판 만들기
§ Hibernate : ORM구현체중 하나(표준은 같이 구현은..)
§ 다운로드
§ 스프링
§ http://www.springsource.org/
§ 하이버네이트
§ http://hibernate.org/
§ 아파치 커먼즈 로깅
§ http://commons.apache.org/logging/
16. § 배포 서술자 : 서블릿 어떻게 실행하느냐 정보
§ 서블릿 등록
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
17. § CORE는 꼭 필요하고
§ WEB와 WEB Servlet은 필요할 것 같고
§ 그 다음에는 뭐가 필요 할까?
18. § 패키지 만들기
§ com.starpl.study
§ 컨트롤러 만들기
§ StudyController
@RequestMapping(value = { "/hw.do" }, method = RequestMethod.GET)
public String showMain(Model model)
{
model.addAttribute("data", "hello world");
return "/hw.jsp";
}
19. § IoC 컨테이너 : applicationContext
§ 컨테이너가 코드 대신 오브젝트에 대한 제어권 가짐
§ 리스너 : 환경이나 상태변화에 응답하는 클래스
§ 리스너(컨텍스트 로드) 등록
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
29. § 결론 : 자바 웹 개발은 (
)다!
§ 자바 웹 개발 환경 구축은 10분이면 된다
§ 모델1, 모델2(스프링@MVC)의 차이를 이해했다
§ 모델 2를 사용하니 유지보수가 쉽다
§ 과제 1 : 직접 개발 환경을 구성해 오세요(OS 무관)
§ 과제 2 : M2 게시판에 삭제 기능을 추가해 오세요