336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
REST 사용방법
http://192.168.0.3:8182/books
http://192.168.0.3:8182/books/where/OReilly
http://192.168.0.3:8182/books/
insert/"제목"/"저자"/"가격'
REST 서버
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.restlet.Application; import org.restlet.Request; import org.restlet.Response; import org.restlet.Restlet; import org.restlet.Server; import org.restlet.data.MediaType; import org.restlet.data.Protocol; import org.restlet.routing.Router; public class test extends Application { public static Connection makeConnection() { String url = "jdbc:mysql://localhost:3307/book_db"; String id = "root"; String password = "green"; Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("드라이버 적재 성공"); con = DriverManager.getConnection(url, id, password); System.out.println("데이터베이스 연결 성공"); } catch (ClassNotFoundException e) { System.out.println("드라이버를 찾을 수 없습니다."); } catch (SQLException e) { System.out.println("연결에 실패하였습니다."); } return con; } public static Statement stmt; public static void main(String[] args) throws Exception { Connection con = makeConnection(); stmt = con.createStatement(); Server server = new Server(Protocol.HTTP, 8182); server.setNext(new test()); server.start(); } public static String selectBooks(Statement stmt) throws SQLException { ResultSet rs = stmt.executeQuery("SELECT * FROM books"); String result = ""; while (rs.next()) { int id = rs.getInt("book_id"); String title = rs.getString("title"); String publisher = rs.getString("publisher"); String year = rs.getString("year"); if (title != null) { result += id + " " + title + " " + publisher + " " + year + "\n"; } } return result; } public static String selectBooks(Statement stmt, String name) throws SQLException { ResultSet rs = stmt .executeQuery("SELECT * FROM books WHERE publisher = '" + name + "'"); String result = ""; while (rs.next()) { int id = rs.getInt("book_id"); String title = rs.getString("title"); String publisher = rs.getString("publisher"); String year = rs.getString("year"); if (title != null) { result += id + " " + title + " " + publisher + " " + year + "\n"; } } return result; } @Override public Restlet createInboundRoot() { Router router = new Router(); router.attach("http://localhost:8182/books", restlet1); router.attach("http://localhost:8182/books/where/{name}", restlet2); router.attach( "http://localhost:8182/books/insert/{title}/{publisher}/{year}/{price}", restlet3); router.attach("http://localhost:8182/datas/{year}/{month}/{day}", restlet4); router.attach("http://192.168.0.3:8182/books", restlet1); router.attach("http://192.168.0.3:8182/books/where/{name}", restlet2); router.attach( "http://192.168.0.3:8182/books/insert/{title}/{publisher}/{year}/{price}", restlet3); router.attach("http://192.168.0.3:8182/datas/{year}/{month}/{day}", restlet4); // (title, publisher, year, price) return router; } public Restlet restlet4 = new Restlet(getContext()) { @Override public void handle(Request request, Response response) { // Print the user name of the requested orders String year = (String) request.getAttributes().get("year"); String month = (String) request.getAttributes().get("month"); String day = (String) request.getAttributes().get("day"); String message = ""; try { message += selectDatas(stmt, year, month, day); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } response.setEntity(message, MediaType.TEXT_PLAIN); } }; public static String selectDatas(Statement stmt, String year, String month, String day) throws SQLException { ResultSet rs = stmt.executeQuery("SELECT * FROM datas WHERE year = " + year + " && month =" + month + "&& day=" + day + ";"); String result = ""; while (rs.next()) { int id = rs.getInt("data_id"); String contents = rs.getString("contents"); if (contents != null) { result += id + " " + year + " " + month + " " + day + " " + contents + "\n"; } } return result; } public Restlet restlet3 = new Restlet(getContext()) { @Override public void handle(Request request, Response response) { // Print the user name of the requested orders String title = (String) request.getAttributes().get("title"); String publisher = (String) request.getAttributes() .get("publisher"); String year = (String) request.getAttributes().get("year"); String price = (String) request.getAttributes().get("price"); try { insertBooks(stmt, title, publisher, year, price); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String message = ""; try { message += selectBooks(stmt); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } response.setEntity(message, MediaType.TEXT_PLAIN); } private void insertBooks(Statement stmt, String title, String publisher, String year, String price) throws SQLException { // TODO Auto-generated method stub // INSERT INTO books (title, publisher, year, price) // VALUES('Operating System Concepts', 'Wiley', '2003', 30700); stmt.execute("INSERT INTO books (title, publisher, year, price)" + "VALUES('" + title + "','" + publisher + "','" + year + "'," + price + ");"); } }; public Restlet restlet2 = new Restlet(getContext()) { @Override public void handle(Request request, Response response) { // Print the user name of the requested orders String name = (String) request.getAttributes().get("name"); String message = ""; try { message += selectBooks(stmt, name); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } response.setEntity(message, MediaType.TEXT_PLAIN); } }; public Restlet restlet1 = new Restlet() { public void handle(Request request, Response response) { String message = ""; try { message += selectBooks(stmt); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } response.setEntity(message, MediaType.TEXT_PLAIN); } }; }
'Programming > JAVA,JSP' 카테고리의 다른 글
JAVA JNI (0) | 2013.05.01 |
---|---|
Eclipse Tips (0) | 2013.04.30 |
JAVA MYSQL 활용 4 Android App (0) | 2013.04.28 |
JAVA MYSQL 활용 3 (0) | 2013.04.28 |
MYSQL REST 실습 코드 2 (0) | 2013.04.28 |