728x90
20221121(월)
- 목차
- 메일링 폴더 생성
- 구역별 JSP 나누기
- 관리자 (로그인)
< 메일링 폴더 생성 >
- email.properties 파일 생성해서 따로 빼놓기, email-config.xml 파일 생성
1. email.properties 파일에 계정과 앱 비밀번호 옮겨놓기
2. root-context.xml 에서 메일기능 관련 설정 코드 복사 (추후 삭제)
<!-- 메일기능 관련설정 -->
<!-- https://myaccount.google.com/security?rapt=AEjHL4OdkuzyEZ7kVBfl7IjImC8vCQOvguwootB5OVe6lT5TDHpILM5DO4vkNzw5y1RIQtWr_0s09Tz1gwq2JxhmNX6GQsCVRQ
메일인증방식 변경됨. 앱비밀번호. 암호화키 사용. -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="${email.account}" />
<property name="password" value="${email.password}" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<!-- 윈도우즈 운영체제 11버전(클라이언트)에 따라 TLS변환문제가 발생이 되는 듯 추측함.
<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
-->
<prop key="mail.smtp.starttls.enable">true</prop>
</props>
</property>
</bean>
3. email-config.xml에 코드 붙여넣기
<context:property-placeholder location = "WEB/INF/spring/email/email.properties"/> 코드 추가
${email.account}, ${email.password}로 연결해주기
4. web.xml에 방금 만든 파일의 경로를 잡아준다.(email-config.xml)
**email 폴더 안에 위치했다면 /WEB-INF/spring/email/email-config.xml로 설정해주기.
5. 2번에서 복사했던 코드는 email-config.xml로 옮겨졌으므로 root-context.xml에서는 삭제해준다.
< 구역별 JSP 나누기 >
- 각각의 부분을 따로 코딩해야 한다.
- header.jsp, footer.jsp, nav.jsp 따로 만들기
- main 페이지엔 <%@ include file = "/WEB-INF/views/admin/include/@@@.jsp> 으로 추가
< 관리자 - 로그인 >
0. sql에 관리자 테이블 생성하기
--2. 관리자 로그인 테이블
CREATE TABLE ADMIN_TBL(
ADMIN_ID VARCHAR2(15) PRIMARY KEY,
ADMIN_PW CHAR(60) NOT NULL,
ADMIN_NAME VARCHAR2(15) NOT NULL,
ADMIN_DATE_LATE DATE DEFAULT SYSDATE NOT NULL
);
COMMIT;
1. docmall의 adLogin.jsp 복사해오기
2. AdminController.java 기본세팅
3. AdminVO.java 생성
4. AdminMapper
5. AdminService
6. AdminController
@log4j를 안쓰는 이유??
+ 코드추가
@GetMapping("")
public String adLogin() {
return "/admin/adLogin";
}
@GetMapping("/admin_menu")
public String admin_menu() {
return "/admin/admin_menu";
}
@PostMapping("/admin_ok")
public String admin_ok(AdminVO vo, HttpSession session, RedirectAttributes rttr) {
AdminVO adminVO = adminService.admin_ok(vo.getAdmin_id());
String url = "";
String msg = "";
if(adminVO != null) {
if(passwordEncoder.matches(vo.getAdmin_pw(), adminVO.getAdmin_pw())) {
// 일반회원 로그인에 사용한 세션이름과 다르게 해야 한다.
session.setAttribute("adminStatus", adminVO);
url = "/admin/admin_menu";
msg = "관리자로그인 성공";
}else {
url = "/admin/";
msg = "관리자 비밀번호가 일치하지 않습니다.";
}
}else {
url = "/admin/";
msg = "관리자 아이디가 일치하지 않습니다.";
}
rttr.addFlashAttribute("msg", msg);
return "redirect:" + url;
}
7. adLogin.jsp
ex) 실행화면
728x90
'🏫 Open API_JAVA' 카테고리의 다른 글
[84일차 - 2] CKEditor 내 이미지 업로드 작업 / 상품 이미지 등록 세팅 (0) | 2022.11.23 |
---|---|
[84일차 - 1] CKEditor / 카테고리 목록 선택 (0) | 2022.11.22 |
[82일차-2] 아이디 & 비번찾기 / 비번찾기 : 임시비밀번호 발급 (0) | 2022.11.21 |
[82일차 - 1] 회원정보 저장 / 비밀번호 암호화 / 로그인 / 로그아웃 (0) | 2022.11.18 |
[81일차] 회원가입 페이지 폼 / 추가 작업 / daum 우편번호 api 삽입 / ID 중복체크 / 이메일 인증 (0) | 2022.11.18 |