jsp, servlet 파일이 너무 많아서 머리속에서 잘 그려지지 않고 복잡함.
파일 위주로 머리 속에서 정리하지말고 페이지 단위로 정리하는걸로 합의보자.
네이버 메일
smtp
환경설정 ->POP3/IMAP 설정 ->pop3/smtp 사용 으로 체크
jar 파일 필요 lib에 추가해야함
sendMail.jsp가 메일 보내는 것 직접작성x apache에서 가져옴
네이버포트465
gmail같은 경우는 포트가 바뀔거임
new SendMail(); -> 해당 클래스는 네이버 계정 비번으로 로그인까지 끝내주는 역할을 하는 클래스
해당 클래스의
PasswordAuthentication
에서 아이디, 2단계인증토큰 입력
gmail로 바꾸려면 sendMail.jsp에 호스트, 포트와 변수 뭐하나 추가로 더 바꾸면 됨
필터는 서블릿으로 생성x
implements javax.servlet 상속받기
오버라이딩 후 doFilter에 필터링 할 것들 적어주고 체인연결
필터를 web.xml에 등록
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>ShopMiniMall10아이디찾기</display-name>
<welcome-file-list>
<welcome-file>main</welcome-file>
</welcome-file-list>
<!-- EncodingFilter 정의하기 -->
<filter>
<filter-name>MyEncodingFilter</filter-name>
<filter-class>coms.filter.MyEncodingFilter</filter-class>
</filter>
<!-- EncodingFilter 맵핑하기(어떤 pattern의 요청이 왔을 때 동작하게 할 것인지 -->
<filter-mapping>
<filter-name>MyEncodingFilter</filter-name>
<url-pattern>/*</url-pattern><!-- context하위의 모든 요청에 대해 수행-->
</filter-mapping>
</web-app>
Filter
package com.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
// implements 필요
public class MyEncodingFilter implements Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("doFilter");
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response); //체인연결
}
}
sendMail import 구문
자세한 기능 구현은 프로젝트 코드 참고
import javax.mail.MessagingException;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
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.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;