데이터 보여주자
<%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="java.sql.*"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <% Connection cn = null; PreparedStatement ps = null; ResultSet rs = null; List list = new ArrayList(); //upcasting 자식클래스의 인스턴스를 부모클래스의 참조변수로 참조하는것. String sql = "SELECT seq, title, name, writeday, readcount " + "FROM board " + "ORDER BY seq DESC "; try { Class.forName("oracle.jdbc.OracleDriver"); //드라이버 로드.. cn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "oraclejava", "oraclejava"); ps = cn.prepareStatement(sql); rs = ps.executeQuery(); %> <body> <table> <caption>게시판 리스트</caption> <tr> <th>번호</th> <th>제목</th> <th>이름</th> <th>날짜</th> <th>조회수</th> </tr> <% while (rs.next()) { %> <tr> <td><%=rs.getInt("seq") %></td> <td><%=rs.getString("title") %></td> <td><%=rs.getString("name") %></td> <td><%=rs.getString("writeday") %></td> <td><%=rs.getInt("readcount") %></td> </tr> <% } } catch (Exception e){ e.printStackTrace(); } finally { if (rs!= null) try { rs.close(); } catch(Exception e) {} if (ps!= null) try { ps.close(); } catch(Exception e) {} if (cn!= null) try { cn.close(); } catch(Exception e) {} } %> </table> </body> </html>
완전 스파게티코드..업무가 다른 코드가 섞여있으면 관리가 어렵지..
참고...
jps에서는 try치고 ctrl+space 잘 안먹어.. 웹서버 설치한 디렉토리는
C:\Java\apache-tomcat-7.0.27\webapps\ROOT 여기에 파일이 들어가 실제로 돌아가는 서버지.. 작업은 이클립스 내부의 다른 폴더(workspace)에서 작업하잖아.. C:\Java\workspace\.metadata\.plugins\org.eclipse.wst.server.core\가 서버인양 개발해..
C:\Java\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\webdev\org\apache\jsp 에 jsp코드가 java소스코드로 바뀌어..컴파일 하고 필요한 위치에 넣고 실행돼.. 이 과정이 내부에서 수행돼.. 그러니까 jsp에서 몇단계를 거쳐야지 문법이 틀렸는지 맞았는지 알 수 있기 때문에 이 상태에서 ctrl+space잘 안되는 경우가 많다고..
왜 이런과정을 거치느냐..
서블릿 – 별거아니야.. 자바프로그램인데 웹프로그램을 쉽게 할 수 있도록 클래스하나를 상속받은 상태야. httpservlet라는 클래스지. 그 클래스는 웹에 대한 대부분의 스펙을 다 만든 www (w3c) (http://ko.wikipedia.org/wiki/W3C) 에서 표준으로 만든 cgi스펙을 지원하는게 자바에서는 httpservlet이라는 클래스가 있는거지.. 그것만 상속받으면 그걸로 끝이야. 자바에선 httpservlet 상속받은게 그냥 Servlet인거야.. 근데 그렇게 해서 만들어놨더니 불편한 점이 있었어.. 일단 자바를 잘해야돼. 컴파일도 할줄 알아야해. 그 당시 ms에서 asp가 나왔는데 편했어. VB랑 문법이 같고, 서버가 윈도우에 내장되어 있었지. 공개진영에선 php(+apache, mySQL).. 그래서 jsp가 만들어진거야.. java파일로 만들고 컴파일해서 실행해도록만들었어야 했는데 이클립스가 자동으로 해주는거지.. 그래서 이제 이클립스를 쓸 때 주의 사항이 있는데.. insert.jsp를 Insert.jsp로 바꾸면 실행안돼. copy해서 새로 만들고 기존거 삭제하고 F2이름바꾸기 해야돼..why? 빌게이츠때문.. 도스에선 대소문자가 구분안되거든...