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

Commit

Permalink
[ch05] 5.7, solved exercise.
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 216642d commit efa163c
Show file tree
Hide file tree
Showing 8 changed files with 296 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/main/java/Lesson04/MemberAddServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
/**
* Created by Dongho on 2017. 3. 1..
*/
@WebServlet("/member/add")
@WebServlet("/member/Lesson04/add")
public class MemberAddServlet extends HttpServlet {

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/Lesson04/MemberDeleteServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
/**
* Created by Dongho on 2017. 3. 7..
*/
@WebServlet("/member/delete")
@WebServlet("/member/Lesson04/delete")
public class MemberDeleteServlet extends HttpServlet {

@Override
Expand Down
68 changes: 68 additions & 0 deletions src/main/java/Lesson05/MemberAddServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package Lesson05;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
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 java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
* Created by Dongho on 2017. 3. 1..
*/
@WebServlet("/member/add")
public class MemberAddServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

RequestDispatcher rd = request.getRequestDispatcher(
"/Lesson05/MemberAdd.jsp"
);

rd.include(request, response);
}

@Override
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");

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();

response.sendRedirect("list");
}
catch (Exception e) {

request.setAttribute("error", e);

RequestDispatcher rd = request.getRequestDispatcher(
"/Lesson05/Error.jsp"
);
rd.forward(request, response);
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}
54 changes: 54 additions & 0 deletions src/main/java/Lesson05/MemberDeleteServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package Lesson05;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
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 java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
* Created by Dongho on 2017. 3. 7..
*/
@WebServlet("/member/delete")
public class MemberDeleteServlet extends HttpServlet {

@Override
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")));

stmt.executeUpdate();
response.sendRedirect("list");
}
catch (Exception e) {

request.setAttribute("error", e);

RequestDispatcher rd = request.getRequestDispatcher(
"/Lesson05/Error.jsp"
);
rd.forward(request, response);
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}
106 changes: 106 additions & 0 deletions src/main/java/Lesson05/MemberUpdateServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
package Lesson05;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
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 java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

/**
* Created by Dongho on 2017. 3. 7..
*/
@WebServlet("/member/update")
public class MemberUpdateServlet extends HttpServlet {

@Override
public void doGet(
HttpServletRequest request, HttpServletResponse response
) throws ServletException, IOException {

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

try {
ServletContext sc = this.getServletContext();

Class.forName(sc.getInitParameter("driver"));
conn = DriverManager.getConnection(
sc.getInitParameter("url"),
sc.getInitParameter("username"),
sc.getInitParameter("password")
);
stmt = conn.createStatement();
rs = stmt.executeQuery(
"select mno, email, mname, cre_date from members" +
" where mno = " + request.getParameter("no")
);

response.setContentType("text/html; charset=UTF-8");
rs.next();

Member member = new Member()
.setNo(Integer.parseInt(request.getParameter("no")))
.setEmail(rs.getString("email"))
.setName(rs.getString("mname"))
.setCreatedDate(rs.getDate("cre_date"));

request.setAttribute("member", member);

RequestDispatcher rd = request.getRequestDispatcher(
"/Lesson05/MemberUpdate.jsp"
);
rd.include(request, response);
}
catch (Exception e) {

request.setAttribute("error", e);

RequestDispatcher rd = request.getRequestDispatcher(
"/Lesson05/Error.jsp"
);
rd.forward(request, response);
}
finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
try { if (conn != null) conn.close(); } catch (Exception e) {}
}
}

@Override
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");
stmt = conn.prepareStatement(
"update members set email = ?, mname = ?, mod_date = now()" +
" where mno = ?"
);
stmt.setString(1, request.getParameter("email"));
stmt.setString(2, request.getParameter("name"));
stmt.setInt(3, Integer.parseInt(request.getParameter("no")));

stmt.executeUpdate();
response.sendRedirect("list");
}
catch (Exception e) {
throw new ServletException(e);
}
finally {
try { if (stmt != null) stmt.close(); } catch (Exception e) {}
}
}
}
29 changes: 29 additions & 0 deletions src/main/webapp/Lesson05/MemberAdd.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<%--
Created by IntelliJ IDEA.
User: Dongho
Date: 2017. 3. 11.
Time: PM 6:01
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>register member</title>
</head>
<body>
<jsp:include page="Header.jsp" />
<h1>register member</h1>

<form action="add" method="post">

name: <input type="text" name="name"> <br>
email: <input type="text" name="email"> <br>
password: <input type="password" name="password"> <br>
<input type="submit" value="register">
<input type="reset" value="clear">

</form>
<jsp:include page="Tail.jsp" />
</body>
</html>
36 changes: 36 additions & 0 deletions src/main/webapp/Lesson05/MemberUpdate.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<%--
Created by IntelliJ IDEA.
User: Dongho
Date: 2017. 3. 11.
Time: PM 6:11
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="member"
scope="request"
class="Lesson05.Member"
type="Lesson05.Member" />
<!DOCTYPE html>
<html>
<head>
<title>member info</title>
</head>
<body>
<h1>member info</h1>

<form action="update" method="post">

number: <input type="text" name="no" value="<%=member.getNo()%>" readonly><br>
name: <input type="text" name="name" value="<%=member.getName()%>"> <br>
email: <input type="text" name="email" value="<%=member.getEmail()%>"> <br>
registered date: <%=member.getCreatedDate()%> <br>

<input type="submit" value="save">
<input type="button" value="delete"
onclick="location.href='delete?no=<%=member.getNo()%>'">
<input type="button" value="cancel"
onclick="location.href='list'">

</form>
</body>
</html>
2 changes: 1 addition & 1 deletion src/main/webapp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@

<servlet-mapping>
<servlet-name>MemberUpdateServlet</servlet-name>
<url-pattern>/member/update</url-pattern>
<url-pattern>/member/Lesson04/update</url-pattern>
</servlet-mapping>
<!--
<servlet-mapping>
Expand Down

0 comments on commit efa163c

Please sign in to comment.