달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2016. 12. 30. 23:50

[Servlet] 초간단 Servlet 웹서버 구축 JSP2016. 12. 30. 23:50

MVC조차 구분하지 않은 너무나 간단한 웹서버를 구축하는 방법...

(자바, 이클립스, 오라클, 톰캣 정도의 기본셋팅이 되어 있는 상태에서 갑작스럽게 10분 안에 웹서버를 뚝딱 만들어야 할 일이 생기면 이렇게 할 예정. 근데 그런 일이 있으려나... 사실 스프링 공부하다가 기초로 한번 돌아가보자 싶어서 만들어 봄..)


준비물 : Java, Eclipse EE, Tomcat, Oracle(테이블 만들어 둘 것)



절차

1. 다이나믹 웹프로젝트 생성(web.xml 자동생성 체크하기)

2. 서블릿 생성(javax.servlet.http.HttpServlet을 상속 받음)

 - init / service / destroy / doGet / doPost 등을 설정할 수 있음

@WebServlet("/SimpleServlet")

public class SimpleServlet extends HttpServlet {

private static final long serialVersionUID = 1L;


public SimpleServlet() {

        super();

    }


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.getWriter().append("Served at: ").append(request.getContextPath());

}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

3. 톰캣서버에 Add 후 서버 Start -> 브라우저에서 접속해서 확인해 

4. JDBC 연결하기(ojdbc14.jar 파일을 WEB-INF/lib 폴더에 넣어야 함)

   (아래 코드는 테스트용. 구조가 매우 바람직하지 못함. 기능분리도 전혀 안되어 있음)

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("Servlet2");

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

System.out.println("드라이버 로딩 성공");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

Connection conn = null;

try {

conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.3:1521:xe", "scott", "tiger");

System.out.println("커넥션 성공");

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("select * from test2");

rs.next();

System.out.println(rs.getString(1));

rs.next();

System.out.println(rs.getString(1));

} catch (SQLException e) {

e.printStackTrace();

}finally{

try {conn.close();} catch (SQLException e) {e.printStackTrace();}

}

response.getWriter().append("<html><body><font color='blue'>blue!</font></body></html>").append(request.getContextPath());

}

5. 동작 확인




위 구조에서 10년 이상 다양한 웹기술이 개발되었고, 현재는 생산성과 유지보수성이 매우 높아진 상태...

'JSP' 카테고리의 다른 글

JSP의 charset과 pageEncoding의 차이  (1) 2016.12.21
JSP의 한글처리  (0) 2016.12.20
고전적 Model1 방식으로 간이게시판을 구축해 보자.  (0) 2016.12.20
JSP 기본 태그  (0) 2016.12.20
:
Posted by 클레잇