서브렛으로 서버 API 쓰기 정보(계속)
/**
* item
* @author Andy.Zhang
*
*/
public class GetItemsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
CodeParse codeParse = new CodeParse();
//
String[] categoryId = null;
String[] type = null;
String[] page = null;
String[] pagesize= null;
String[] sortBy = null;
String[] sortorder = null;
//
String readinfo = codeParse.receiveData(request.getInputStream());
// xml
try {
type = codeParse.parseXml(readinfo, "type");
categoryId = codeParse.parseXml(readinfo, "category_id");
page = codeParse.parseXml(readinfo, "page");
pagesize = codeParse.parseXml(readinfo, "pagesize");
sortBy = codeParse.parseXml(readinfo, "sort_by");
sortorder = codeParse.parseXml(readinfo, "sort_order");
} catch (ParserConfigurationException e1) {
e1.printStackTrace();
} catch (SAXException e1) {
e1.printStackTrace();
}
//
int classifyId = Integer.parseInt(categoryId[0]);
int pageNum = Integer.parseInt(page[0]);
int pageSize = Integer.parseInt(pagesize[0]);
// item
List<Ring> ringList = new ArrayList<Ring>();
try {
ringList = DAOFactory.getRingDAOInstance().queryRingByClassify(classifyId, type[0], pageNum, pageSize, sortBy[0], sortorder[0]);
} catch (Exception e) {
e.printStackTrace();
}
// item
int itemNum = 0;
try {
itemNum = DAOFactory.getRingDAOInstance().queryItemNumByClassify(classifyId);
} catch (Exception e) {
e.printStackTrace();
return;
}
//
int allPages = itemNum%pageSize==0 ?itemNum/pageSize:itemNum/pageSize+1;
//
String result = "<result version=\"1\">";
result += " <items type=\""+type+"\" current_page=\""+pageNum+1+"\" total_page=\""+allPages+"\">";
Iterator<Ring> iterator = ringList.iterator();
Ring ring = null;
while (iterator.hasNext()) {
ring = iterator.next();
result += "<item category_id= \""+categoryId+"\" name=\""+ring.getTitle()+"\" screenshot=\"http://xxx.xxx.xxx/screenshot.jpg\" rating=\""+ring.getScore()+"\" download=\""+ring.getNumDownload()+"\" price=\""+ring.getPrice()+"\" item_id=\""+ring.getId()+"\" purchased=\"true\" package_id=\"\" source=\"\" version=\"1.0.0\"/>";
}
result += "</items ></result>";
//
codeParse.sendData(response.getOutputStream(), result);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
이것은 servlet으로 어떤 하위 디렉터리에 있는 제품 목록을 가져옵니다. 받은 것은 xml 데이터이고 되돌아오는 것도 xml 데이터입니다
전체 논리는 매우 간단하다
1. 데이터 수신
2. 처리 해석 데이터
3. 분석 데이터를 이용하여 데이터베이스 처리를 한다.
4. 데이터베이스 반환 데이터를 이용하여 xml 데이터 조립
5、xml 데이터 출력
데이터 해석에 관한 것이 매우 많으니, 여기에는 붙이지 않겠다.
주로 데이터를 어떻게 수신하고 입력하며 쓰는지 제시한다
데이터 수신:
/**
*
* @param inputStream
* @return readinfo
* @throws IOException
*/
public String receiveData(InputStream inputStream) throws IOException {
byte[] buffer = new byte[128];
int len = 0;
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
while ((len = inputStream.read(buffer)) >= 0) {
bytes.write(buffer, 0, len);
}
String readinfo = bytes.toString();
return readinfo;
}
출력 데이터:
/**
*
* @param outputStream
* @param str
* @throws IOException
*/
public void sendData(OutputStream outputStream,String str) throws IOException {
BufferedOutputStream out = new BufferedOutputStream(outputStream);
out.write(str.getBytes());
out.flush();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.