1) joinService servlet페이지
package com.smhrd.controller;
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 com.smhrd.model.DAO;
import com.smhrd.model.IotMemberVO;
@WebServlet("/JoinService")
public class JoinService extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// ex01JoinService.jsp와 같은 역할을 하는 컨트롤러
// 1. 한글 인코딩 진행하기
request.setCharacterEncoding("UTF-8");
// 2. 데이터 가져오기(getParameter : IotMemberVO 자료형을 매개변수로 받아서 테이블에 데이터를 추가해주는 메소드다.)
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
// 3. 데이터를 하나로 묶기((IotMemberVO : 사용자 한명에 대한 정보)
IotMemberVO vo = new IotMemberVO(id, pw, name, age);
// 4. DB연결과 관련된 도구 DAO 생성하기
DAO dao = new DAO();
// 5. 데이터 추가하는 메소드 사용하기 -> int(영향을 받은 행의 개수)
int row = dao.join(vo);
// 6. 성공실패 여부를 판단해서 흐름 제어하기
if(row > 0) {
// 성공
response.sendRedirect("ex01Login.jsp");
}else {
// 실패
response.sendRedirect("ex01Join.jsp");
}
}
}
2) loginservice servlet 페이지
package com.smhrd.controller;
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 javax.servlet.http.HttpSession;
import com.smhrd.model.DAO;
import com.smhrd.model.IotMemberVO;
@WebServlet("/LoginService")
// 제일먼저 Login.jsp action에 LoginService 넣어주기
public class LoginService extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// // 1. 한글 인코딩
// request.setCharacterEncoding("UTF-8");
//
// // 2. 데이터 가져오기(id, pw)
// String id = request.getParameter("id");
// String pw = request.getParameter("pw");
//
// // 3. 하나의 데이터로 묶기
// IotMemberVO vo = new IotMemberVO(id, pw);
//
// // 4. DAO 생성
// DAO dao = new DAO();
//
// // 5. login 메소드 사용하기
// IotMemberVO result = dao.login(vo);
// 1. 한글 인코딩
request.setCharacterEncoding("UTF-8");
// 2. 데이터 가져오기(id, pw)
String id = request.getParameter("id");
String pw = request.getParameter("pw");
// 5. login 메소드 사용하기
IotMemberVO result = new DAO().login(new IotMemberVO(id, pw));
// 6. 흐름 제어하기
if(result != null) {
// 성공
// jsp : session 내장객체이기때문에 별도로 생설할 필요가 없다.
// servlet : session 내장객체가 아니다. 생성하는 작업이 필요하다.
// 1) session은 client가 요청하면 server에서 session id를 만들어서 client로 되돌려준다!!!!
// 2) session을 꺼내올 때 client(웹 브라우저)가 가지고 있는 session id값이 필요하다.
// 3) 웹 브라우저 요청에 대한 정보가 담긴 request로부터 session을 꺼내와야 한다.
HttpSession session = request.getSession();
session.setAttribute("info", result);
response.sendRedirect("ex01LoginSuccess.jsp");
}else {
// 실패
response.sendRedirect("ex01LoginFail.jsp");
}
}
}
'JSP' 카테고리의 다른 글
게시판 실습 (MVC) (0) | 2022.05.24 |
---|---|
JSP Servlet JDBC연결- <MVC Pattern> Model1 실습 (0) | 2022.05.11 |
JSP Servlet JDBC연결- <MVC Pattern> (0) | 2022.05.11 |
세션(Session) 실습 (0) | 2022.05.09 |
세션(Session) (0) | 2022.05.09 |