[ idSearch.jsp ]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/WEB-INF/views/include/header.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>아이디찾기</title>
<style>
a {
text-decoration: none;
color:black;
cursor: pointer;
}
input[type=text] {
margin:5px;
}
.btn_ck {
display: none;
}
.ck_box {
margin:5px 0px;
}
input[type=button] {
background-color: #f26b2b;
border:none;
color:white;
font-size: 13px;
font-weight: bolder;
width:170px;
height:30px;
margin-bottom: 20px;
margin-top:10px;
}
.container{
width: 400px;
margin: 0 auto;
}
/* tab 메뉴 */
ul.tabs{
display: flex;
justify-content:flex-start;
align-items:center;
list-style: none;
/* border:1px solid red; */
}
ul.tabs li{
display: inline-block;
cursor: pointer;
border-bottom:2px solid #666;
width:150px;
padding:10px 0px;
}
ul.tabs li.current{
width:150px;
padding:10px 0px;
color: #f26b2b;
font-weight:bolder;
border-bottom:2px solid #f26b2b;
text-align: center;
}
/* tab 메뉴 끝 */
/* tab 내용 */
.tab-content{
display: none;
/* border:1px solid green; */
}
.tab-content.current{
display: inherit;
/* border:1px solid orange; */
}
.t_tab-1 {
display:inherit;
}
.t_tab-2 {
display: none;
}
.radio {
display: none;
}
</style>
<script>
// 아이디
function tab_result(str){
var id_name = $("#name").val();
var id_name2 = $("#name2").val();
var id_email = $("#email").val();
var id_phone = $("#phone").val();
var radio_ck = $("input[type=radio][name=radio_ck]:checked").val();
//alert(radio_ck);
$.ajax({
url:"/member/idSearch", //전송받을 페이지 경로
type: "post", //데이터 읽어오는 방식
dataType: "text", //데이터 방식
data: "code="+str+"&radio_ck="+radio_ck+"&name="+id_name+"&name2="+id_name2+"&email="+id_email+"&phone="+id_phone, //데이터 전달
error:function(){ //실패일 경우
alert("실패");
},
success:function(text){ //성공일 경우
$("#result_id").html(text);
}
});
}
//비밀번호
function tab_result2(str){
var aaa = $("li").attr("data-tab");
//alert(aaa);
var pass_id = $("#id").val();
var pass_name = $("#name3").val();
var pass_phone = $("#phone2").val();
$.ajax({
url:"/member/idSearch", //전송받을 페이지 경로
type: "post", //데이터 읽어오는 방식
dataType: "text", //데이터 방식
data: "code="+str+"&id="+pass_id+"&name3="+pass_name+"&phone2="+pass_phone, //데이터 전달
error:function(){ //실패일 경우
alert("실패");
},
success:function(text){ //성공일 경우
$("#result_pw").html(text);
}
});
}
</script>
</head>
<body>
<center>
<div style="margin-bottom: 20px;">
<a href="/"><h3>MoonWorld</h3></a>
</div>
<script>
//아이디찾기, 비밀번호찾기 tab
$(document).ready(function(){
$('ul.tabs li').click(function(){
var tab_id = $(this).attr('data-tab');
//alert(tab_id);
$('ul.tabs li').removeClass('current');
$('.tab-content').removeClass('current');
$(this).addClass('current');
$("#"+tab_id).addClass('current');
});
});
// 휴대폰, 이메일 tab
$(document).ready(function(){
//$(".resultArea > div").last().hide();
var radioContent = $(".resultArea > div");
$("input[name='radio_ck']").click(function(){
radioContent.hide();
radioContent.eq($("input[name='radio_ck']").index(this)).show();
});
});
</script>
<form name="id_S" method ="post" onsubmit="return id_s_ok()">
<div class="container">
<ul class="tabs">
<li class="tab1 current" id="tab1" data-tab="tab-1">아이디찾기</li>
<li class="tab2" id="tab2" data-tab="tab-2">비밀번호찾기</li>
</ul>
<div id="tab-1" class="tab-content current">
<div class="ck_box">
<input type="radio" name="radio_ck" id="ck" class="radio_ck" value="p" checked <c:if test="${radio_ck == 'p'}">checked</c:if>>
<label for="ck1">휴대폰</label>
<input type="radio" name="radio_ck" id="ck" class="radio_ck" value="e" <c:if test="${radio_ck == 'e'}">checked</c:if>>
<label for="ck2">이메일</label> <br>
</div>
<div class="resultArea">
<div name="cont1" id="cont1" class="t_tab active">
<input type="text" name="name" id="name" placeholder="이름"> <br>
<input type="text" name="phone" id="phone" placeholder="전화번호">
</div>
<div name="cont2" id="cont2" class="t_tab" style="display:none;">
<input type="text" name="name2" id="name2" placeholder="이름"> <br>
<input type="text" name="email" id="email" placeholder="이메일">
</div>
</div>
<input type="button" onclick="tab_result('id')" value="찾기">
<div id="result_id"></div>
</div>
<div id="tab-2" class="tab-content">
<input type="text" name="id" id="id" placeholder="아이디" style="margin-top:20px;"> <br>
<input type="text" name="name3" id="name3" placeholder="이름"> <br>
<input type="text" name="phone2" id="phone2" placeholder="전화번호"> <br>
<input type="button" onclick="tab_result2('pass')" value="찾기">
<div id="result_pw"></div>
</div>
</div>
</form>
</center>
</body>
</html>
[ SearchDTO.java ]
package org.zerock.dto;
import lombok.Data;
@Data
public class SearchDTO {
private String code;
private String id;
private String pw;
private String name;
private String name2;
private String name3;
private String email;
private String phone;
private String phone2;
private String radio_ck;
}
[ MemberController.java ]
@GetMapping("/idSearch")
public void idSearchGET() throws Exception {
//logger.info("아이디찾기 get==");
}
[ MemberDAO.java ]
public MemberVO idSearch(SearchDTO s_dto) throws Exception; //아이디찾기(p)
public MemberVO idSearch2(SearchDTO s_dto) throws Exception; //아이디찾기(e)
public MemberVO pwSearch(SearchDTO s_dto) throws Exception; //비밀번호찾기
[ MemberDAOImpl.java ]
@Override
public MemberVO idSearch(SearchDTO s_dto) throws Exception {
return sqlSession.selectOne(namespace+".idSearch", s_dto);
}
@Override
public MemberVO idSearch2(SearchDTO s_dto) throws Exception {
return sqlSession.selectOne(namespace+".idSearch2", s_dto);
}
@Override
public MemberVO pwSearch(SearchDTO s_dto) throws Exception {
return sqlSession.selectOne(namespace+".pwSearch", s_dto);
}
[ MemberService.java ]
public MemberVO idSearch(SearchDTO s_dto) throws Exception; //아이디찾기(p)
public MemberVO idSearch2(SearchDTO s_dto) throws Exception; //아이디찾기(e)
public MemberVO pwSearch(SearchDTO s_dto) throws Exception; //비밀번호찾기
[ MemberServiceImpl.java ]
@Override
public MemberVO idSearch(SearchDTO s_dto) throws Exception {
return dao.idSearch(s_dto);
}
@Override
public MemberVO idSearch2(SearchDTO s_dto) throws Exception {
return dao.idSearch2(s_dto);
}
@Override
public MemberVO pwSearch(SearchDTO s_dto) throws Exception {
return dao.pwSearch(s_dto);
}
[ MemberMapper.xml ]
<select id="idSearch" resultType="MemberVO">
select id from member where name=#{name} and phone=#{phone}
</select>
<select id="idSearch2" resultType="MemberVO">
select id from member where name=#{name2} and email = #{email}
</select>
<select id="pwSearch" resultType="MemberVO">
select pw from member where id=#{id} and name=#{name3} and phone=#{phone2}
</select>
[ MemberController.java ]
@ResponseBody
@PostMapping(value="/idSearch", produces="text/plain;charset=UTF-8")
public String idSearchPOST(SearchDTO s_dto, MemberVO m, String code, String radio_ck) throws Exception{
logger.info("아이디찾기 post==");
logger.info(s_dto.toString());
logger.info("====code:"+code);
logger.info(radio_ck);
if(code.equals("pass")) {
m = service.pwSearch(s_dto);
return "<div>회원님의 비밀번호는 <span style='border-bottom:2px solid red;'> "+m.getPw()+" </span>입니다.</div>";
}else {
if(radio_ck.equals("p")) {
m = service.idSearch(s_dto);
}else if(radio_ck.equals("e")){
m = service.idSearch2(s_dto);
}
return "<div>회원님의 아이디는 <span style='border-bottom:2px solid red;'> "+m.getId()+" </span>입니다.</div>";
}
}
'JAVA > spring' 카테고리의 다른 글
log4j 설정 (0) | 2023.05.17 |
---|---|
소소한 로직 정리 (0) | 2023.05.16 |
총정리 (0) | 2023.05.10 |
Board_fullcode (0) | 2023.05.09 |
member_fullcode (0) | 2023.05.09 |