study/Action

VisitInsertAction

kims1997 2023. 7. 10. 02:00
반응형

package action;


import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.VisitDao;
import vo.VisitVo;

/**
 * Servlet implementation class VisitInsertAction
 */
@WebServlet("/visit/insert.do")

//(해당 클래스가 "/visit/insert.do" URL에 매핑되도록 설정

public class VisitInsertAction extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
 */
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//HTTP 요청을 처리하기 위한 service 메서드를 재정의


//데이터가/inset.do?name=%EA%B9%80%EC%83%81%ED%98%84&content=dd&pwd=1234


//수신인코딩
request.setCharacterEncoding("utf-8");

//수신된 데이터의 문자 인코딩을 utf-8로 설정


//parameter수신
String name = request.getParameter("name");

//name 파라미터 값을 받아온다


String content = request.getParameter("content").replaceAll("\n", "<br>");

//content 파라미터 값을 받아오고,개행 문자를 <br>태그로 변경

String pwd = request.getParameter("pwd");

//"pwd" 파라미터 값을 받아온다


//ip구하기
String ip  =request.getRemoteAddr();

//클라이언트 IP 주소 받아온다

//4visit vo로 포장하기

VisitVo vo =new VisitVo(name,content,pwd,ip);

//객체를 생성하고 수신된 데이터를 VisitVo에 담는다 

int res =VisitDao.getInstance().insert(vo);

//클래스의 인스턴스를 생성 하고 방문 데이터를 데이터베이스에 삽입한다

//5목록보기 이동
response.sendRedirect("list.do");

//list.do 페이지로 리다이렉트하여 목록보기 페이지로 이동


}
}

 

 

1.전달된 피라미터 값을 받아 변수에 저장

 

2.변수로부터 VisitVo 객체를 생성하여 데이터를 담는다

 

3.VistiDao클래스의 insert 메서드르 호출하여 데이터를 테이터베이스에 삽입

 

4.list.do 페이지로 리다이렉트하여 목록보기 페이지로 이동

 

5.코드는 패키지 선언으로 시작하여 필요한 클래스와 패키지를 가져온다

 

6.@WebServlet("/visit/insert.do") 주석은 서블릿이 "/visit/insert.do" URL 에 매핑되었음을 나태내고 즉 URL에 대한 요총이 있을 때마다 서블릿이 요청을 처리

 

7.VisitInsertAction 클래스는 모든 서블릿의 기본 클래스인 HttpServlet 클래스를 확장 

 

8.Http 요청을 처리하기 위해 service 메서드가 재정의 메서드는 각각 요청 및 응답 개체를 나타내는 HttpServletRequest 및 HttpServletResponse의 두 매개 변수를 사용

 

9.service 메서드 내에서 코드는 request.setCharacterEncoding("UTF-8") 을 사용하여 문자 인코딩을 utf-8로 설정하는 것으로 시작 이렇게 설정하면 들어오는 모든 데이터가 UTF-8로 올바르게 해석됩니다

 

10.request.getParameter를 사용하여 요청에서 매개변수 값을 검색한다 이경우 name content 및 pwd 매개변수의 값을 검색

 

11 줄바꿈 문자 "\n", <"br"> 태그로 교체하여 검색된 콘텐츠 매개 변수를 처리 개행 문자를 웹 페이지에 제대로 표시될 수 있는 HTML 줄 바꿈으로 변환하기 위해 사용

 

12 .request.getRemoteAddr()메소드는 요청을 하는 클라이언트의 IP 주소를 얻는 데 사용

 

13 .검색된 매개변수 값과 IP주소를 사용하여 새 VisitVo 객체 생성, VisitVo객체는 데이터가 데이터베이스에 저장되기 전에 데이터를 갭술화 하는데 사용 

 

14.데이터를 데이터베이스에 삽입하기 위해 VisitDao.getInstance().insert(vo)메소드가 호출 VisitDao 클래스는 데이터베이스 와이 상호 작용울 담당하고 getInstance()는 VisitDao 클래스의 인스턴스를 가져오는 데 사용 

 

15 response.sendRedirect(list.do)를 사용하여 사용자를 list.do 페이지로 리디렉션 한다 즉 데이터가 삽입된 후 사용자의 브라우저는 항목 목옥을 표시 하거나 다른 작업을 수행할 수 있는 지정된 페이지로 리디렉션 요약하면 이 코드는 방문 데이터를 데이터베이스에 삽입하기 위해 HTTP  요청을 처리 요청에서 매개변수를 검색하고 콘텐츠 매개변수를 처리하고 , VisitVo 개체를 만들고 데이터를 데이터베이스에 삽입한 다음 사용자를 list.do 페이지로 리디렉션 한다 

반응형