import java.io.IOException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class JndiFilter implements Filter {
private FilterConfig config;
private Context env;
public JndiFilter() {
}
public void init(FilterConfig filterConfig) throws ServletException {
this.config = filterConfig;
try {
env = (Context) new InitialContext();
} catch (NamingException ne) {
throw new ServletException(ne);
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
javax.mail.Session mailSession = null;
try {
mailSession = (javax.mail.Session) env.lookup("MyEmail");
} catch (NamingException ne) {
}
HttpServletRequest hRequest = null;
if (request instanceof HttpServletRequest) {
hRequest = (HttpServletRequest) request;
HttpSession hSession = hRequest.getSession();
if (hSession != null)
hSession.setAttribute("MyEmail", mailSession);
}//if
chain.doFilter(request, response);
}// doFilter
public void destroy() {
/*
* called before the Filter instance is removed from service by the web
* container
*/
}
}