2020. 1. 19. 21:49
Controller.java
NaverSearchAPI search = new NaverSearchAPI();
String word = request.getParameter("search");
String result = search.Search(word);
System.out.println(result);
JSONParser paser = new JSONParser();
Object obj = paser.parse(result);
JSONObject jsonObj = (JSONObject) obj;
request.setAttribute("result", jsonObj);
result.jsp
<c:set var="result" value="${requestScope.result}"></c:set>
<form action="search.text">
검색<input type="text" name="search">
<input type="submit" value="검색">
</form>
<h1>결과</h1>
<h1>${result.items[0].title}"></h1>
NaverSearchAPI.java
package textbook.search;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class NaverSearchAPI {
public String Search(String word) {
String clientId = "";//애플리케이션 클라이언트 아이디값";
String clientSecret = "";//애플리케이션 클라이언트 시크릿값";
StringBuffer response = null;
try {
String text = URLEncoder.encode(word, "UTF-8");
String apiURL = "https://openapi.naver.com/v1/search/book.json?query="+ text; // json 결과
//String apiURL = "https://openapi.naver.com/v1/search/blog.xml?query="+ text; // xml 결과
URL url = new URL(apiURL);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("X-Naver-Client-Id", clientId);
con.setRequestProperty("X-Naver-Client-Secret", clientSecret);
int responseCode = con.getResponseCode();
BufferedReader br;
if(responseCode==200) { // 정상 호출
br = new BufferedReader(new InputStreamReader(con.getInputStream()));
} else { // 에러 발생
br = new BufferedReader(new InputStreamReader(con.getErrorStream()));
}
String inputLine;
response = new StringBuffer();
while ((inputLine = br.readLine()) != null) {
response.append(inputLine);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
System.out.println(e);
}
return response.toString();
}
}
naver api 사용할 때 json으로 데이터 들고 오는데 그 json 데이터를 jsonString으로 가져와서
값에 접근하기 위해서는 jsonObject로 jsonString을 파싱해주어야한다.
'JSP' 카테고리의 다른 글
[JSP] ajax 통신 : json / jsonObject/jsonArray (0) | 2020.01.19 |
---|---|
[JSP] MySQL 설치 (0) | 2019.12.01 |
[JSP] 예시 ] SQL_QUERY , 내장객체 세션, 절대 경로 (0) | 2019.11.19 |
[JSP] 액션태그 (0) | 2019.11.05 |
[JSP] XML/JSP 페이지에서 에러 페이지 연결 시키기 (0) | 2019.11.05 |