고급자바 2020.12.07 수업노트

 package kr.or.ddit.controller;


import java.io.IOException;

import java.util.List;


import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import kr.or.ddit.member.service.IMemberService;

import kr.or.ddit.member.service.MemberServiceImpl;

import kr.or.ddit.member.vo.MemberVO;


public class TestController extends HttpServlet {


private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


                request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
            URL ==> http://localhost/servletTest02/member/memberList.do 
            URI ==> /servletTest02/member/memberList.do 
            ContextPath ==> /servletTest02
            원하는 요청 URI ==> /member/memberList.do 

   
            사용자의 요청 정보 가져오기 

            URI ==> /servletTest02/member/memberList.do 
            위에 URI를 가지고 온다. 
            String uri = request.getRequestURI(); 
            uri 에서 내가 필요한 만큼 가지고 온다. (ContxtPath만큼 빼준다) 
            uri = uri.subString(request.getContextPath().length()); 
            
            구하려고 한것 출력해보기

            System.out.println("uri => " + uri);

            view 페이지가 저장될 변수 선언 

            String viewPage = null;

            //uri 가 우리가 원하는 값과 같은지 비교 

            if(uri == null) {

    }else if ("/member/memberList.do".equals(uri)) {       


            //URI 에 맞는 작업을 우리가 진행한다. ( 예 ) 전체 회원정보가져오기


            //서블릿에서 하던거  

            //서비스객체 생성 

            IMemberService memService =                                  MemberServiceImpl.getInstance();      

            //리스트로 전체 회원정보 받기 (db작업을 끝내놓은것 ) 

            List<MemberVO> memList = memService.getALLMemberList();

            //가져온 정보를 Request 객체의 setAttribute() 메서드를 이용해서 

            // ==> view 페이지(여기서는.jsp)로 전달할 데이터를 셋팅한다. 

            viewPage = "/member/memberList.jsp"; 

            }else if ( "/member/memberView.do".equals(uri)) {

            //

            }else {

            }


            //해당 view 페이지를 포워딩 또는 리다이렉트한다. 

           RequestDispatcher rd = request.getRequestDispatcher("/WEB-                       INF/view" + viewPage); 

            rd.forward(request, response  ) ; 

    }

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

-----------------------------------------------------------------------------------------------

Untitled Text File 문서로 작성한다. 

-----------------------------------------------------------------------------------------------

# 이 문서는 사용할 URI 와 Mapping 되는 Action 객체를 연결 해 준다. 


# 문서 작성법

# 요청 URI = IAction을 구현한 실제 실행할 클래스의 전체이름 


/member/memberList.do=kr.or.ddit.member.action.MemberListAction

/member/memberView.do=kr.or.ddit.member.action.MemberViewAction


/member/memberList.do 는 키값이다. 

kr.or.ddit.member.action.MemberListAction 은 문자열이다. value 값이다. 


-----------------------------------------------------------------------------------------------




<%@page import="kr.or.ddit.member.vo.MemberVO"%>

<%@page import="java.util.List"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>


<h1>결과페이지</h1>


<%

//Controller 에서 보내온 데이터를 받는다. ==> request객체.getAttribute() 메서드 사용 

List<MemberVO> memList = (List<MemberVO>)request.getAttribute("memList"); 

for(MemberVO memVO : memList){

%>

<%=memVO.getMem_id() %> <hr> <%=memVO.getMem_name() %> <hr>

<%=memVO.getMem_tel() %> <hr>  <%=memVO.getMem_addr() %> <hr>


<%

}

%>

</body>

</html>


-----------------------------------------------------------------------------------------------






댓글