HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问

时间:2022-07-29 13:44:14

HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问

代码下载地址:

http://download.csdn.net/detail/poiuy1991719/8594485

项目01:

URLUtil类:

package com.west.test.httpclient;
/**
*01:定义访问路径
*com.west.test.httpclient.PostServlet
*/
public class URLUtil {
public static final String HttpClient_002="http://localhost:8080/httpClient_002/";//访问本地项目2路径
public static final String POST_CONTENT=HttpClient_002+"PostContent";
}

PostServlet类:

package com.west.test.httpclient;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod; import javax.servlet.ServletException; public class PostServlet extends HttpServlet { @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("httpClient_001:doGet方式提交");
System.out.println("========PostServlet start=========");
/**02:定义实例化对象*/
HttpClient httpClient = new HttpClient();
//03:Post需要创建PostMethod
PostMethod method=new PostMethod(URLUtil.POST_CONTENT);
//04:创建NameValuePair对象,保存需要存入到路径的值
NameValuePair name=new NameValuePair("name", "zhagnsan");
System.out.println("NameValuePair:name:"+name.toString());
NameValuePair password=new NameValuePair("password", "password:123321");
//05:利用method设置需要加入到访问路径后面的值(相当于url传值)
method.setRequestBody(new NameValuePair[]{name,password});
String rt="";
try {
//06:提交数据,并且获取提交结果
int status=httpClient.executeMethod(method);
//07:HttpStatus.SC_OK=200,表明提交数据成功
if(status==HttpStatus.SC_OK){
//08:获取返回的字符串
rt=method.getResponseBodyAsString();
System.out.println("httpClient_001得到httpClient_002返回的字符串:rt:"+rt);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("网络连接失败,请联系管理员!");
}
//释放HttpClient资源
method.releaseConnection();
/**09:编写outMessage()方法*/
outMessage(response, rt); } /**09:编写outMessage()方法*/
public void outMessage(HttpServletResponse response, String message) {
try {
PrintWriter out = response.getWriter();
out.print(message);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>test</display-name> <servlet>
<servlet-name>PostServlet</servlet-name>
<servlet-class>com.west.test.httpclient.PostServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PostServlet</servlet-name>
<url-pattern>/PostServlet</url-pattern>
</servlet-mapping> <session-config>
<session-timeout></session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

项目02:

PostContent类

package com.test.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class PostContent extends HttpServlet { @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("=========PostContent start============");
System.out.println("httpClient_002:doPost方式执行");
String name=request.getParameter("name");
String password=request.getParameter("password");
String reStr="httpClient_002:name="+name+"======password="+password;
System.out.println("reStr:"+reStr);
outMessage(response, reStr);
} public void outMessage(HttpServletResponse response, Object message) {
try {
PrintWriter out = response.getWriter();
out.print(message);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>test002</display-name> <servlet>
<servlet-name>PostContent</servlet-name>
<servlet-class>com.test.servlet.PostContent</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PostContent</servlet-name>
<url-pattern>/PostContent</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
</welcome-file-list>
</web-app>