Created
May 27, 2018 07:13
-
-
Save BalicantaYao/d17a850cf4b973b17d557c9278d1a80a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package controller; | |
import java.io.IOException; | |
import java.sql.SQLException; | |
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; | |
import javax.servlet.http.HttpSession; | |
import bean.MailList; | |
import dao.MailListDAO; | |
/** | |
* Servlet implementation class LoginController | |
*/ | |
@WebServlet("/LoginController") | |
public class LoginController extends HttpServlet { | |
private static final long serialVersionUID = 1L; | |
public LoginController() { | |
super(); | |
} | |
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | |
// 0. 先檢查他是不是有 session 的資料 | |
HttpSession session = request.getSession(); | |
String email = (String)session.getAttribute("email"); | |
String phone = (String)session.getAttribute("phone"); | |
// 如果有,就執行 doPOST(); | |
if(email != null && phone != null) { | |
doPost(request, response); | |
} else { | |
// 如果沒有,就導向登入頁面。 | |
RequestDispatcher requestDispatcher = request.getRequestDispatcher("login.jsp"); | |
response.setCharacterEncoding("UTF-8"); | |
response.setContentType("text/html;charset=UTF-8"); | |
requestDispatcher.forward(request, response); | |
} | |
} | |
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | |
HttpSession session = request.getSession(); | |
String sessionEmail = (String)session.getAttribute("email"); | |
String sessionPhone = (String)session.getAttribute("phone"); | |
String email; | |
String phone; | |
if(sessionEmail == null && sessionPhone == null) { // Session 沒有值 | |
// 取得 Email 和 Phone | |
email = request.getParameter("email"); | |
phone = request.getParameter("phone"); | |
System.out.println("Requset " + email + " :" + phone); | |
// 1. 把使用者提供資訊放到 session 裡面。 | |
session.setAttribute("email", email); | |
session.setAttribute("phone", phone); | |
} else { | |
email = sessionEmail; | |
phone = sessionPhone; | |
} | |
// 到資料庫去找,這個 email 以及 這個電話是不是已經填過? | |
try { | |
MailList mailList = MailListDAO.findByEmailAndPhone(email, phone); | |
if(mailList != null) { | |
request.setAttribute("mailList", mailList); | |
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/sign-up-complete.jsp"); | |
requestDispatcher.forward(request, response); | |
} else { | |
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/sign-up.jsp"); | |
requestDispatcher.forward(request, response); | |
} | |
} catch (ClassNotFoundException | SQLException e) { | |
e.printStackTrace(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment