package
common 폴더
(1) JDBCTemplate.java
package org.kh.common;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCTemplate {
public JDBCTemplate() {
}
// Connection 객체 생성 메소드
//static 정적변수!
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "mvc", "1234");
// 자동으로 commit을 지원해주는 기능을 해제
conn.setAutoCommit(false);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn) {
try {
if (conn != null && !conn.isClosed()) {
conn.close(); // 만약의 경우대비
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 커밋용 메소드
public static void commit(Connection conn) {
try {
if (conn != null && !conn.isClosed()) {
conn.commit();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void rollback(Connection conn) {
try {
if (conn != null && !conn.isClosed()) {
conn.rollback();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// stmt , pstmt, rset
// 얘네도 객체화 해줘야됨!
public static void close(Statement stmt) {
try {
if (stmt != null && !stmt.isClosed()) {
stmt.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// public void close(PreparedStatement pstmt) {
// try {
// if (pstmt != null && !pstmt.isClosed()) {
// pstmt.close();
// }
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
// 지우는 이유는 다형성 때문에 stmt 를 만들었기 때문에 지워도 된다!!!!!!!!!!!!
public static void close(ResultSet rset) {
try {
if (rset != null && !rset.isClosed()) {
rset.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
(2) EncodeFilter.java
package org.kh.common;
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;
import javax.servlet.annotation.WebFilter;
/**
* Servlet Filter implementation class EncodeFilter
*/
@WebFilter("/EncodeFilter")
public class EncodeFilter implements Filter {
/**
* Default constructor.
*/
public EncodeFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
System.out.println("인코딩 완료");
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
(3) TestFilter.java
package org.kh.common;
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;
import javax.servlet.annotation.WebFilter;
/**
* Servlet Filter implementation class TestFilter
*/
@WebFilter("/TestFilter")
public class TestFilter implements Filter {
/**
* Default constructor.
*/
public TestFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//request를 가로채서 로직을 처리하는 코드
System.out.println("Servlet 도착 전 필터 출력");
String id = request.getParameter("memberId");
System.out.println(id + "님이 로그인 시도");
chain.doFilter(request, response);
System.out.println("Servlet 작업 수행 후 필터 출력");
//response를 가로채서 로직을 처리하는 코드
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
library 폴더
'이공계전문기술연수 > Servlet | JSP' 카테고리의 다른 글
<이공계기술전문연수> 11. Servlet / JSP MVC2 실습(3) 회원정보 수정/회원 탈퇴/마이 페이지 / 회원 전체 관리 / 회원 정보 검색 (0) | 2019.11.20 |
---|---|
<이공계기술전문연수> 10. Servlet / JSP MVC2 실습(2) 회원가입/로그인/로그아웃 (0) | 2019.11.20 |
<이공계기술전문연수> 8. Servlet / JSP jspTag(JSTL) (0) | 2019.11.19 |
<이공계기술전문연수> 7. Servlet / JSP jspTag(EL) (0) | 2019.11.19 |
<이공계기술전문연수> 6. Servlet / JSP Servlet Filter (0) | 2019.10.08 |