Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Commit

Permalink
[ch05] 5.10, Added MemberDao and changed servlet classes.
Browse files Browse the repository at this point in the history
Signed-off-by: Dongho Sim <dhsim86@gmail.com>
  • Loading branch information
dhsim86 committed Mar 11, 2017
1 parent 7fe7f26 commit d616b7a
Show file tree
Hide file tree
Showing 6 changed files with 233 additions and 129 deletions.
34 changes: 8 additions & 26 deletions src/main/java/Lesson05/LoginServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
* Created by Dongho on 2017. 3. 11..
Expand All @@ -34,49 +32,33 @@ protected void doPost(
HttpServletRequest request, HttpServletResponse response
) throws ServletException, IOException {

Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;

try {

ServletContext sc = this.getServletContext();
conn = (Connection)sc.getAttribute("conn");

stmt = conn.prepareStatement(
"select mname, email from members" +
" where email = ? and pwd = ?"
);

stmt.setString(1, request.getParameter("email"));
stmt.setString(2, request.getParameter("password"));

rs = stmt.executeQuery();
MemberDao memberdao = new MemberDao();
memberdao.setConnection((Connection)sc.getAttribute("conn"));

if (rs.next()) {
Member member = new Member()
.setEmail(rs.getString("email"))
.setName(rs.getString("mname"));
Member member = memberdao.exist(
request.getParameter("email"),
request.getParameter("password")
);

if (member != null) {
HttpSession session = request.getSession();
session.setAttribute("member", member);

response.sendRedirect("../member/list");
}
else {
RequestDispatcher rd = request.getRequestDispatcher(
"/Lesson05/LogInFail.jsp"
"/Lesson05/LogInFail.jsp"
);
rd.forward(request, response);
}
}
catch (Exception e) {

throw new ServletException(e);
}
finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}
24 changes: 7 additions & 17 deletions src/main/java/Lesson05/MemberAddServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
* Created by Dongho on 2017. 3. 1..
Expand All @@ -33,23 +31,18 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

Connection conn = null;
PreparedStatement stmt = null;

try {
ServletContext sc = this.getServletContext();

conn = (Connection) sc.getAttribute("conn");
MemberDao memberDao = new MemberDao();
memberDao.setConnection((Connection) sc.getAttribute("conn"));

stmt = conn.prepareStatement(
"insert into members(email, pwd, mname, cre_date, mod_date)" +
" values(?, ?, ?, now(), now())"
);
stmt.setString(1, request.getParameter("email"));
stmt.setString(2, request.getParameter("password"));
stmt.setString(3, request.getParameter("name"));
stmt.executeUpdate();
Member member = new Member()
.setEmail(request.getParameter("email"))
.setPassword(request.getParameter("password"))
.setName(request.getParameter("name"));

int result = memberDao.insert(member);
response.sendRedirect("list");
}
catch (Exception e) {
Expand All @@ -61,8 +54,5 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
);
rd.forward(request, response);
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}
200 changes: 200 additions & 0 deletions src/main/java/Lesson05/MemberDao.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
package Lesson05;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
* Created by Dongho on 2017. 3. 11..
*/
public class MemberDao {

Connection connection;

public void setConnection(Connection connection) {
this.connection = connection;
}

public List<Member> selectList() throws Exception {

Statement stmt = null;
ResultSet rs = null;

try {
stmt = connection.createStatement();
rs = stmt.executeQuery(
"select mno, mname, email, cre_date" +
" from members" +
" order by mno asc"
);

List<Member> memberList = new ArrayList<Member>();

while(rs.next()) {
memberList.add(new Member()
.setNo(rs.getInt("mno"))
.setName(rs.getString("mname"))
.setEmail(rs.getString("email"))
.setCreatedDate(rs.getDate("cre_date"))
);
}

return memberList;
}
catch (Exception e) {
throw e;
}
finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}

public int insert(Member member) throws Exception {

PreparedStatement stmt = null;

try {
stmt = connection.prepareStatement(
"insert into members(email, pwd, mname, cre_date, mod_date)" +
" values(?, ?, ?, now(), now())"
);
stmt.setString(1, member.getEmail());
stmt.setString(2, member.getPassword());
stmt.setString(3, member.getName());
int result = stmt.executeUpdate();

return result;
}
catch (Exception e) {
throw e;
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}

public int delete(int no) throws Exception {

PreparedStatement stmt = null;

try {

stmt = connection.prepareStatement(
"delete from members" +
" where mno = ?"
);
stmt.setInt(1, no);
int result = stmt.executeUpdate();

return result;
}
catch (Exception e) {
throw e;
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}

public Member selectOne(int no) throws Exception {

PreparedStatement stmt = null;
ResultSet rs = null;

try {

stmt = connection.prepareStatement(
"select mno, mname, email, cre_date" +
" from members" +
" where mno = ?"
);
stmt.setInt(1, no);

rs = stmt.executeQuery();
rs.next();

Member member = new Member()
.setNo(rs.getInt("mno"))
.setName(rs.getString("mname"))
.setEmail(rs.getString("email"))
.setCreatedDate(rs.getDate("cre_date"));

return member;
}
catch (SQLException e) {
System.out.println("Error");
e.printStackTrace();
throw e;
}
finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}

public int update(Member member) throws Exception {

PreparedStatement stmt = null;

try {

stmt = connection.prepareStatement(
"update members set email = ?, mname = ?, mod_date = now()" +
" where mno = ?"
);
stmt.setString(1, member.getEmail());
stmt.setString(2, member.getName());
stmt.setInt(3, member.getNo());

int result = stmt.executeUpdate();
return result;
}
catch (Exception e) {
throw e;
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}

public Member exist(String email, String password) throws Exception {

PreparedStatement stmt = null;
ResultSet rs = null;

try {

stmt = connection.prepareStatement(
" select mno, mname, email, cre_date" +
" from members" +
" where email = ? and pwd = ?"
);
stmt.setString(1, email);
stmt.setString(2, password);

rs = stmt.executeQuery();

if (rs.next()) {

Member member = new Member()
.setNo(rs.getInt("mno"))
.setName(rs.getString("mname"))
.setEmail(rs.getString("email"))
.setCreatedDate(rs.getDate("cre_date"));

return member;
}
else {
return null;
}
}
catch (Exception e) {
throw e;
}
finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}
18 changes: 4 additions & 14 deletions src/main/java/Lesson05/MemberDeleteServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
* Created by Dongho on 2017. 3. 7..
Expand All @@ -21,21 +20,15 @@ public class MemberDeleteServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

Connection conn = null;
PreparedStatement stmt = null;

try {

ServletContext sc = this.getServletContext();

conn = (Connection) sc.getAttribute("conn");
stmt = conn.prepareStatement(
"delete from members" +
" where mno = ?"
);
stmt.setInt(1, Integer.parseInt(request.getParameter("no")));
MemberDao memberDao = new MemberDao();
memberDao.setConnection((Connection) sc.getAttribute("conn"));

int result = memberDao.delete(Integer.parseInt(request.getParameter("no")));

stmt.executeUpdate();
response.sendRedirect("list");
}
catch (Exception e) {
Expand All @@ -47,8 +40,5 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
);
rd.forward(request, response);
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}

0 comments on commit d616b7a

Please sign in to comment.