반응형

# 인프런 MVC 프레임워크는 내손에 10일차 : MySQL Table 생성

## sql 파일 생성 및 MySQL 실행

  • src 에 신규 패키지 생성 (kr.web.db)
  • 해당 패키지(kr.web.db)에 file 생성 (member.sql)
  • 기존에 연결해둔 MySQL db 활용을 위해 cmd 창에서 아래와 같이 입력하여 MySQL startup.bat 실행
C:\Users\Hyeonho>cd..

C:\Users>cd..

C:\>cd eGovFrame-3.9.0

C:\eGovFrame-3.9.0>cd bin

C:\eGovFrame-3.9.0\bin>cd mysql-5.6.21

C:\eGovFrame-3.9.0\bin\mysql-5.6.21>dir

C:\eGovFrame-3.9.0\bin\mysql-5.6.21>startup.bat

  • 연결 후 아래와 같이 입력 후 드래그한 뒤 우클릭 > Excute selected text 로 실행
-- 회원관리 위한 member(회원) 테이블 생성
create table member (
	num int primary key auto_increment,
	id varchar(20) not null,
	pass varchar(20) not null,
	name varchar(30) not null,
	age int not null,
	email varchar(30) not null,
	phone varchar(30) not null
)
  • 아래와 같이 입력하여 member 테이블에 데이터 추가 및 member 테이블 조회
select *
from member;

insert into member (id, pass, name, age, email, phone)
values('admin', 'admin', '관리자', '30', 'abc@nave.com', '010-1111-1111');
  • SQL CRUD
-- SQL(CRUD), JDBC
-- 검색
select *
from member;

-- insert(생성)
insert into member (id, pass, name, age, email, phone)
values('admin', 'admin', '관리자', '30', 'abc@nave.com', '010-1111-1111');

-- update(수정)
update member set age = 45, phone = '010-1234-5678'
where id = 'admin;'

-- delete(삭제)
delete from member 
where id = 'admin';
반응형
반응형

# 인프런 MVC 프레임워크는 내손에 10일차 : @WebServlet 사용(Servlet Mapping)

## Servlet annotation을 이용한 Servlet-mapping

  • @WebServlet() 어노테이션을 이용한 Servlet-mapping
  • 기존의 web.xml에 입력했던 Servlet-mapping 정보를 제거.
  • 아래와 같이 어노테이션을 이용해서 mapping 해주면 된다.
package kr.web.controller;

import java.io.*;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

import kr.web.util.MyUtil;

@WebServlet("/hs.do")	// 기존에 web.xml에서 진행했던 것을 간단하게 mapping 가능.
public class HelloServlet extends HttpServlet {

	// Servlet에서 main과 같은 메소드 : service 
	@Override
	public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		// 1 ~ 100 까지의 총합 계산하기.
		MyUtil my = new MyUtil();
		int sum = my.hap();
		
		
		// 요청한 클라이언트에게 응답하기.
		PrintWriter out = resp.getWriter();
		out.println("<html>");
		out.println("<body>");
		out.println(sum);
		out.println("</body>");
		out.println("</html>");		
	}
	
}
  • 만약 web.xml에 Servlet-mapping을 입력하고 자바단에 @WebServlet() 어노테이션을 이용하여 중복으로 mapping을 걸 경우 오류가 발생한다.

 

반응형
반응형

# 인프런 MVC 프레임워크는 내손에 9일차 : Servlet 실행(Servlet 매핑, web.xml)

## 클라이언트에서 Servlet(서블릿) 요청하는 방법

  • 매핑(mapping)을 알기 전에는 아래와 같이 요청 주소(경로)를 생각할 수 있다.
127.0.0.1:8081/web/WEB_INF/classes/kr.web.controller.HelloServlet
  • Servlet-mapping 을 이용한 요청을 위해서는 web.xml를 사용해야 한다. 아래와 같이 web.xml에 입력하면 /hs.do로 들어오면 /WEB-INF/classes/kr.web.controller.HelloServlet가 실행되게 된다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee                       http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">

    <!-- /WEB-INF/classes/kr.web.controller.HelloServlet 인데, /WEB-INF/classes/는 생략 가능하다. -->
    <servlet>
        <!-- servlet-mapping과 연결해주는 이름, servlet-mapping의 servlet-name과 동일해야 한다. (일반적으로 클래스 이름으로 적는다.) -->
        <servlet-name>HelloServlet</servlet-name>
        <!-- 진짜 Servlet 이름 -->
        <servlet-class>kr.web.controller.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <!-- URL 상의 Servlet 이름(가짜) : /hs.do -->
        <url-pattern>/hs.do</url-pattern>
    </servlet-mapping>
    
</web-app>

 

반응형
반응형

# 인프런 MVC 프레임워크는 내손에 8일차 : JavaEE기본_Servlet(서블릿)

## Servlet (서블릿)

  • Servlet(서블릿)이란 Server + Let가 결합된 단어
  • Java로 이루어진 웹에서 동작되는 프로그램
  • 100% Java class로 만든다.

### Servlet 생성 작업

  • src에는 자바적인 요소가 들어가는데, Servlet는 해당 폴더에 작업.
  • 아래와 같이 패키지 생성

  • 패키지 생성 후 해당 패키지에 HelloServlet 클래스 생성
  • javaEE는 web용 api인 servlet.api.jar 필요.
  • 클래스가 웹에서 동작하는 Servlet가 되기 위해서는 우선 HttpServlet를 상속 한다.
  • 그리고 부모(HttpServlet)의 서비스를 아래와 같은 방법으로 재정의 한다.

  • Servlet(서블릿)의 기본 골격은 아래와 같다.
package kr.web.controller;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		super.service(req, resp);
	}
	
}
package kr.web.controller;

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

import kr.web.util.MyUtil;

// JavaEE 의 기본 프로그램을 Servlet(서블릿)이라고 함.
// Servlet(서블릿)의 골격
public class HelloServlet extends HttpServlet {

	// Servlet에서 main과 같은 메소드 : service 
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		// 1 ~ 100 까지의 총합 계산하기.
		MyUtil my = new MyUtil();
		int sum = my.hap();
		
		
		// 요청한 클라이언트에게 응답하기.
		PrintWriter out = resp.getWriter();
		out.println("<html>");
		out.println("<body>");
		out.println(sum);
		out.println("</body>");
		out.println("</html>");		
	}
	
}
반응형

+ Recent posts