티스토리 뷰
[Java] ... (첫번째) 에서 작성한 MySql 컨넥션 클래스를 사용하여 Servlet를 작성해 보았다.
아래 작성한 Servlet 을 플렉스(FLEX)에서 호출하는 방법은 다음 (세번째) ... HTML에서 호출해서 사용하는 방법은 ... 생략 ^^
HmysqlServlet.java 소스
package drv; /** * 모듈이름 HTTP로 요구하는 곳에 값을 보내주는 서블릿 * 작성일자 2014. 07. 21 * 작성자명 Hwang Kyuseok * * [리턴결과 JSON 형식으로] * Select 에대한 결과 * { "h_ret":[{"필드명1":"데이터1"}, {"필드명2":"데이터2"}, ... ] } 여러개의 레코드 * * Insert,Update,Delete 에대한 결과 * {"h_ret":[{"return":"결과값"}]} 한개의 레코드 * * */ import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import drv.Hmysqlconnect.Hmysqlconnect_ret; /** * Servlet implementation class HmysqlServlet */ @WebServlet("/HmysqlServlet") public class HmysqlServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public HmysqlServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int i,col,icnt; request.setCharacterEncoding("UTF-8"); //POST 방식의 한글처리 response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); //읽어온 파라메터 String stmp = request.getParameter("pam"); String[] pam = stmp.split(","); /*DBip, port, dbname, user,pass*/ String[] strSql = request.getParameterValues("strSql"); //DB컨넥션 객체생성 Hmysqlconnect hdb = new Hmysqlconnect(pam[0],pam[1],pam[2],pam[3],pam[4]); //json객체생성 JSONObject responseDetailsJson = new JSONObject(); JSONArray jsonArray = new JSONArray(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //쿼리문 Select인지 체크하기위해 stmp = strSql[0].substring(0,1); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //대.소문자 구분없이 S 로시작되면 Select 쿼리문 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if( stmp.equalsIgnoreCase("S") ) { ArrayList<Hmysqlconnect_ret> al = new ArrayList<Hmysqlconnect_ret>(); //리턴 배열선언 al = hdb.fn_ExecuteS(strSql[0]); //select 쿼리문 날림 icnt = al.size();//레코드갯수 if(icnt > 0) { for(i=0;i<icnt;i++) { //레코드 갯수만큼 JSONObject formDetailsJson = new JSONObject(); for(col=0;col<((String[])al.get(0).s[0]).length ;col++) { //필드(열)갯수만큼 formDetailsJson.put( ((String[])al.get(i).s[0])[col] , ((String[])al.get(i).s[1])[col] ); //필드명,데이터 } jsonArray.add(formDetailsJson); } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //아니면 Insert, Update, Delete 쿼리문 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ else { try { JSONObject formDetailsJson = new JSONObject(); i = hdb.fn_ExecuteU2(strSql); //쿼리문실해 formDetailsJson.put("hvalue", String.valueOf(i)); // {hvalue:"결과값"} 0보다작으면 오류 , jsonArray.add(formDetailsJson); } catch (SQLException e) { e.printStackTrace(); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ responseDetailsJson.put("h_ret", jsonArray); out.print(responseDetailsJson); out.flush(); out.close(); } }
JSON
※ 문자열 통신을 위해 java 의 JSON 라이브러리로 json-simple-1.1.1.jar 을 사용함
배포싸이트는 : https://code.google.com/p/json-simple/
이클립스에 설치는 ... 결과만
'프로그램 > JAVA' 카테고리의 다른 글
[ JAVA ] JavaFX 환경구축 과 프로젝트 생성 (0) | 2019.07.13 |
---|---|
[Java 와 R 연재 4] rJava JRI을 사용하기위한 설치및 환경설정 - 두번째 (2) | 2016.05.20 |
[ JAVA ] HashMap 해쉬맵 데이터 나열 (0) | 2015.04.22 |
[ Java ] JDBC를 이용한 MySql 연동 (첫번째) (0) | 2014.07.22 |
[Servlet] 이클립스에서 서블릿 작성 및 배포환경 구성 (1) | 2014.06.27 |
[ JAVA ] 사용자가 작성한 소켓, 쓰레드 클래스의 동적생성 (0) | 2013.07.12 |
[ JAVA ] TCP/IP Server 소켓통신 byte를 이용한 hex값 출력 (7) | 2013.06.27 |
[ JAVA ] 자바로 구현해보는 모드버스의 crc16 체크섬 (2) | 2013.06.26 |
[ Java ] excel의 csv 파일을 읽어 2차원배열에 옮기기 (3) | 2013.04.02 |
[Java 와 R 연재 3] rJava JRI을 사용하기위한 설치및 환경설정 (14) | 2012.02.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- XML
- 독서
- Post
- 동적할당
- 티스토리 초대장
- 통계
- 쓰레드
- 소설
- 안드로이드
- 자바
- MenuBar
- flex
- 세월호
- SQLite
- 특별법
- 모드버스
- Modbus
- 서블릿
- C++Builder
- MySQL
- rJava
- 김정환
- CRC16
- 플렉스
- 책
- java
- Servlet
- 한빛미디어
- R
- C#
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함