Struts2的Action配置代码
<package name="Ajax" extends="json-default" namespace="/Ajax">
<action name="serivceJ" class="com.wanghe.test.TestAction" method="serivceJ" >
<result type="json"></result>
</action>
</package>
Action代码
public void serivceJ() {
try {
HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
System.out.println("request...serivceJ");
response.setCharacterEncoding("UTF-8");
String type = request.getParameter("type");
String c = "none";
if(type.equalsIgnoreCase("girl")){
c = "女孩你好!";
}else if(type.equalsIgnoreCase("boy")){
c = "男孩你好!";
}
response.getWriter().write(c);
} catch (IOException e) {
e.printStackTrace();
}
}
HttpClient测试代码
//创建默认的httpClient实例.
HttpClient httpclient = new DefaultHttpClient();
//创建httppost
HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action");
//创建参数队列
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("type", "girl"));
UrlEncodedFormEntity uefEntity;
try {
uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");
httppost.setEntity(uefEntity);
System.out.println("executing request " + httppost.getURI());
HttpResponse response;
response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
if (entity != null) { System.out.println("--------------------------------------");
System.out.println("Response content: " + EntityUtils.toString(entity,"UTF-8"));
System.out.println("--------------------------------------");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
}catch(UnsupportedEncodingException e1) {
e1.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
//关闭连接,释放资源
httpclient.getConnectionManager().shutdown();
}
输出:
executing request http://localhost:8080/myDemo/Ajax/serivceJ.action
--------------------------------------
Response content: 女孩你好!
--------------------------------------