1.修改web.xml檔案
<!-- 模拟HTTP的調用,寫的一個http接口 -->
<servlet>
<servlet-name>TestHTTPServer</servlet-name>
<servlet-class>com.atoz.http.SmsHTTPServer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestHTTPServer</servlet-name>
<url-pattern>/httpServer</url-pattern>
</servlet-mapping>
2.建立SmsHTTPServer.java檔案
package com.atoz.http;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.atoz.action.order.SendSMSAction;
import com.atoz.util.SpringContextUtil;
public class SmsHTTPServer extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String content = request.getParameter("content");
//String content = new String(request.getParameter("content").getBytes("iso-8859-1"), "utf-8");
String mobiles = request.getParameter("mobiles");
String businesscode = request.getParameter("businesscode");
String businesstype = request.getParameter("businesstype");
if (content == null || "".equals(content) || content.length() <= 0) {
System.out.println("http call failed,參數content不能為空,程式退出");
} else if (mobiles == null || "".equals(mobiles)
|| mobiles.length() <= 0) {
System.out.println("http call failed,參數mobiles不能為空,程式退出");
} else {
SendSMSAction sendSms = (SendSMSAction) SpringContextUtil.getBean("sendSMS");
sendSms.sendSms(content, mobiles, businesscode, businesstype);
System.out.println("---http call success---");
}
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
3.調用http接口
String content = "測試";
content = URLEncoder.encode(content, "utf-8");
String url = "http://localhost:8180/atoz_2014/httpServer?content=" + content + "&mobiles=15301895007";
URL httpTest;
try {
httpTest = new URL(url);
BufferedReader in;
try {
in = new BufferedReader(new InputStreamReader(
httpTest.openStream()));
String inputLine = null;
String resultMsg = null;
//得到傳回資訊的xml字元串
while ((inputLine = in.readLine()) != null)
if(resultMsg != null){
resultMsg += inputLine;
}else {
resultMsg = inputLine;
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}