관리 메뉴

통계 & 데이터 그리고 이야기

com.ja.freeboard.member.controller_MemberController.java 본문

SpringFramework

com.ja.freeboard.member.controller_MemberController.java

NoMadikia 2020. 5. 19. 15:20
728x90
반응형
SMALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package com.ja.freeboard.member.controller;
 
import java.util.UUID;
 
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
import com.ja.freeboard.mapper.MemberSQLMapper;
import com.ja.freeboard.member.service.MemberServiceImpl;
import com.ja.freeboard.vo.AuthVo;
import com.ja.freeboard.vo.MemberVo;
 
@Controller
@RequestMapping("/member/*")
public class MemberController {
 
    @Autowired
    private MemberServiceImpl memberService; 
    @Autowired
    private JavaMailSender mailSender;
    
    
    @RequestMapping("/login_page.do")
    public String loginPage(HttpServletRequest r) {
        
        System.out.println("test : " + r.getHeader("Referer"));
        
        return "member/login_page";
    }
    
    @RequestMapping("/join_member_page.do")
    public String joinMemberPage() {
        return "member/join_member_page";
    }
 
    @RequestMapping("/join_member_process.do")
    public String joinMemberProcess(MemberVo memberVo ,int [] member_hobby) {
        
        //�씤利� �궎 �깮�꽦 ....
        AuthVo authVo = new AuthVo();
        String authKey = UUID.randomUUID().toString();
        authVo.setAuth_key(authKey);
 
        memberService.joinMember(memberVo,member_hobby,authVo);
        
        //硫붿씪 諛쒖넚....
        FBMailSenderThread thread = 
                new FBMailSenderThread(
                        mailSender,
                        memberVo.getMember_id(),
                        authVo.getAuth_key()
                        ); 
        
        thread.start();
        
        
        
        
        return "redirect:./login_page.do";
    }
    
    @RequestMapping("/login_process.do")
    public String loginProcess(MemberVo memberVo , HttpSession session , HttpServletRequest xxx) {
        
        
        MemberVo userData = memberService.login(memberVo);
        
        if(userData == null) {
            return "/member/login_fail";
        }else {
            //濡쒓렇�씤 �꽦怨�
            session.setAttribute("sessionUser", userData);
            return "redirect:/board/main_page.do";
        }
        
        
    }
    
    @RequestMapping("/logout_process.do")
    public String logoutProcess(HttpSession session) {
        
        session.invalidate();
        
        return "redirect:/board/main_page.do";
    }
    
    @RequestMapping("/certification_process.do")
    public String certificationProcess(String key) {
        
        memberService.certification(key);
        
        return "member/certification_complete";
    }
    
    
    @RequestMapping("/testAjax.do")
    public String testAjax() {
        
        return "member/testAjax";
    }
    
    @RequestMapping("/confirmId.do")
    @ResponseBody
    public String confirmId(String id) {
        
        //System.out.println("�꽆�뼱�삩 媛� : " + id);
        if(memberService.confirmId(id)) {
            return "true";
        }else {
            return "false";
        }
        
    }
    
}
 
 
class FBMailSenderThread extends Thread{
    
    private String to;
    private String authKey;
    private JavaMailSender mailSender;
 
    public FBMailSenderThread(JavaMailSender mailSender,String to,String authKey) {
        this.mailSender = mailSender;
        this.to = to;
        this.authKey = authKey;
    }
    
    
    public void run() {
        try {
            MimeMessage message = null;
            MimeMessageHelper messageHelper = null;
            message = mailSender.createMimeMessage();
            messageHelper = new MimeMessageHelper(message, true"UTF-8");
            messageHelper.setSubject("[WEB 諛쒖넚]FB �쉶�썝媛��엯�쓣 異붿뭅�뱶由쎈땲�떎.");
            
            String link = "http://localhost:8181/freeboard/member/certification_process.do?key=" + authKey;
            String text = "";
            text += "FB �쉶�썝 媛��엯�쓣 異뺥븯�뱶由쎈땲�떎.<br>";
            text += "�쉶�썝 媛��엯 �셿猷뚮�� �쐞�빐 �븘�옒 留곹겕瑜� �겢由��빐 二쇱꽭�슂.<br>";
            text += "<a href='"+link+"'>";
            text += "留곹겕 �겢由�";
            text += "</a>";
            
            messageHelper.setText(text, true);
            messageHelper.setFrom("111""FB愿�由ъ옄");
            messageHelper.setTo(to);
            //messageHelper.addInline(contentId, dataSource);
            mailSender.send(message);            
            
        }catch(Exception e) {
            e.printStackTrace();
        }        
    }
    
}
 
 
 
 
 
cs
728x90
Comments