MemberJoinProc
package model; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/proc.do") public class MemberJoinProc extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { reqPro(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { reqPro(request, response); } protected void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); MemberBean bean=new MemberBean(); bean.setId(request.getParameter("id")); bean.setAge(request.getParameter("age")); bean.setEmail(request.getParameter("email")); String[] arr=request.getParameterValues("hobby"); String data=""; for(String string : arr){ data +=string + " ";//하나의 스트림으로 데이터 연결 } bean.setHobby(data); bean.setInfo(request.getParameter("info")); bean.setJob(request.getParameter("job")); String pass1=request.getParameter("pass1"); String pass2=request.getParameter("pass2"); bean.setPass1(pass1); bean.setPass2(pass2); bean.setTel(request.getParameter("tel")); //패스워드가 같을 경우에만 데이터 베이스에 저장 if(pass1.equals(pass2)){ //데이터 베이스 객체 생성 MemberDAO mdao =new MemberDAO(); mdao.insertMember(bean); RequestDispatcher dis =request.getRequestDispatcher("MemberList.jsp"); dis.forward(request, response); }else{ request.setAttribute("msg", "패스워드가 일치 하지 않습니다."); RequestDispatcher dis =request.getRequestDispatcher("LoginError.jsp"); dis.forward(request, response); } } }
MemberDAO
//회원 한사람에 대한 정보를 저장하는 메소드 public void insertMember(MemberBean bean){ try{ getCon(); //3. 접속후 쿼리준비하여 쿼리를 사용하도록 설정 String sql ="insert into member values(?, ? , ? ,? ,? , ?, ?, ?)"; //쿼리를 사용하도록 설정 pstmt=con.prepareStatement(sql);//jsp 에서 쿼리를 사용하도록 설정 //?에 맞게 데이터를 맵핑 pstmt.setString(1, bean.getId()); pstmt.setString(2, bean.getPass1()); pstmt.setString(3, bean.getEmail()); pstmt.setString(4, bean.getTel()); pstmt.setString(5, bean.getHobby()); pstmt.setString(6, bean.getJob()); pstmt.setString(7, bean.getAge()); pstmt.setString(8, bean.getInfo()); //4. 오라클에서 쿼리를 실행하시오 pstmt.executeUpdate(); //insert, update, delete 사용하는 메소드 }catch(Exception e){ e.printStackTrace(); }finally{ closed(); } } private void closed(){ try{ //5.자원 반납 if(rs!=null)rs.close(); if(pstmt!=null)pstmt.close(); if(con!=null)con.close(); }catch(Exception e2){ e2.printStackTrace(); } }
MemberList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> MemberList.jsp </body> </html>
LoginError.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> alert('${msg}'); history.go(-1); </script> </body> </html>
동영상 강좌와 다르게 모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.
여기서는 jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.
또한, 일부 자바 코드는 제 입맛에 맞게 변경 하였습니다.
혹시, 이 강의를 들으면서 제 글을 읽고 소스코드를 참조하는 수강생이 있다면 동영상의 코드와 다르다고 생각지 마세요. 대부분 동여상 내용과 같으니 학습에 도움이 될거라 생각 합니다.
소스 : https://github.com/braverokmc79/jsp_sin
유튜브 동영상 출처 :
강사 : 신형섭(잭임연구원)
저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.
댓글 ( 4)
댓글 남기기