服務端代碼java
control類web
1 @RequestMapping(value="getUser",method = RequestMethod.POST) 2 @ResponseBody 3 public User getUser(HttpServletRequest request){ 4 String name = request.getParameter("name"); 5 String age = request.getParameter("age"); 6 User user = new User(); 7 user.setPassWord("123123"); 8 user.setUserName("asdasd"); 9 return user; 10 }
spring核心控制器spring
1 <!--配置Springmvc核心控制器 --> 2 <servlet> 3 <servlet-name>springmvc</servlet-name> 4 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 5 <init-param> 6 <param-name>contextConfigLocation</param-name> 7 <param-value>classpath:springMVC.xml</param-value> 8 </init-param> 9 </servlet> 10 <servlet-mapping> 11 <servlet-name>springmvc</servlet-name> 12 <url-pattern>*.action</url-pattern> 13 </servlet-mapping>
客戶端代碼apache
1 import com.alibaba.fastjson.JSONObject; 2 import org.apache.http.HttpResponse; 3 import org.apache.http.client.ClientProtocolException; 4 import org.apache.http.client.methods.HttpPost; 5 import org.apache.http.entity.StringEntity; 6 import org.apache.http.impl.client.DefaultHttpClient; 7 import org.apache.http.util.EntityUtils; 8 import org.junit.Test; 9 10 import java.io.IOException; 11 12 public class HttpclientTest { 13 @Test 14 public void httpReqUrl() 15 throws ClientProtocolException, IOException { 16 String url = "http://localhost:8080/ssm/user/getUser"; 17 JSONObject json = new JSONObject(); 18 DefaultHttpClient httpClient = new DefaultHttpClient(); 19 HttpPost method = new HttpPost(url); 20 // 接收參數json列表 21 JSONObject jsonParam = new JSONObject(); 22 23 StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8");//解決中文亂碼問題 24 entity.setContentEncoding("UTF-8"); 25 entity.setContentType("application/json"); 26 method.setEntity(entity); 27 28 HttpResponse result = httpClient.execute(method); 29 // 請求結束,返回結果 30 String resData = EntityUtils.toString(result.getEntity()); 31 JSONObject resJson = json.parseObject(resData); 32 System.out.printf(":::"+resJson.toString()); 33 } 34 }
調用報錯:http.404json
報錯緣由:服務端配置的核心控制器,只攔截以 「.action」結尾的請求mvc
解決方案:將服務端核心控制器配置「<url-pattern>*.action</url-pattern>」改成「<url-pattern>/</url-pattern>」app