采用httpclien提交数据到服务器.docx
- 文档编号:10910079
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:19
- 大小:33.70KB
采用httpclien提交数据到服务器.docx
《采用httpclien提交数据到服务器.docx》由会员分享,可在线阅读,更多相关《采用httpclien提交数据到服务器.docx(19页珍藏版)》请在冰豆网上搜索。
采用httpclien提交数据到服务器
采用httpclien提交数据到服务器
服务器端
packagecom.ithema.log;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassLoginServletextendsHttpServlet
{
/**
*ThedoGetmethodoftheservlet.
*
*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget.
*
*@paramrequesttherequestsendbytheclienttotheserver
*@paramresponsetheresponsesendbytheservertotheclient
*@throwsServletExceptionifanerroroccurred
*@throwsIOExceptionifanerroroccurred
*/
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
System.out.println("username:
"+newString((username.getBytes("ISO-8859-1")),"utf-8"));
System.out.println("password:
"+newString((password.getBytes("ISO-8859-1")),"utf-8"));
if("zhangshan".equals(username)&&"123".equals(password))
{
response.getOutputStream().write("loginsucess".getBytes());
}
else
{
response.getOutputStream().write("loginfaild".getBytes());
}
}
/**
*dopost提交数据
*/
@Override
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException
{
doGet(req,resp);
System.out.println("post");
}
}
手机客户端
MainActivity.java
packagecom.xu.submitdata;
importcom.xu.submitdata.service.LoginService;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.View;
importandroid.widget.EditText;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
privateEditTextet_username;
privateEditTextet_password;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_username=(EditText)findViewById(R.id.editText1);
et_password=(EditText)findViewById(R.id.editText2);
}
/**
*采用get方式提交数据
*@paramview
*/
publicvoidclick(Viewview)
{
finalStringusername=et_username.getText().toString().trim();
finalStringpassword=et_password.getText().toString().trim();
//submitdata
//拼装路径
newThread()
{
publicvoidrun()
{
finalStringresult=LoginService.loginByGet(username,password);
if(result!
=null)
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,result,0).show();
}
});
}
else
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,"网络连接失败",0).show();
}
});
}
}
}.start();
}
/**
*采用post方式提交数据
*@paramview
*/
publicvoidclick1(Viewview)
{
finalStringusername=et_username.getText().toString().trim();
finalStringpassword=et_password.getText().toString().trim();
//submitdata
//拼装路径
newThread()
{
publicvoidrun()
{
finalStringresult=LoginService.loginByPost(username,password);
if(result!
=null)
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,result,0).show();
}
});
}
else
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,"网络连接失败",0).show();
}
});
}
}
}.start();
}
/**
*采用httpClientget方式提交数据
*@paramview
*/
publicvoidclick2(Viewview)
{
finalStringusername=et_username.getText().toString().trim();
finalStringpassword=et_password.getText().toString().trim();
//submitdata
//拼装路径
newThread()
{
publicvoidrun()
{
finalStringresult=LoginService.loginByHttpclien(username,password);
if(result!
=null)
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,result,0).show();
}
});
}
else
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,"网络连接失败",0).show();
}
});
}
}
}.start();
}
/**
*采用httpClientpost方式提交数据
*@paramview
*/
publicvoidclick3(Viewview)
{
finalStringusername=et_username.getText().toString().trim();
finalStringpassword=et_password.getText().toString().trim();
//submitdata
//拼装路径
newThread()
{
publicvoidrun()
{
finalStringresult=LoginService.loginByHttpclienPost(username,password);
if(result!
=null)
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,result,0).show();
}
});
}
else
{
runOnUiThread(newRunnable(){
@Override
publicvoidrun(){
Toast.makeText(MainActivity.this,"网络连接失败",0).show();
}
});
}
}
}.start();
}
}
LoginService.java
packagecom.xu.submitdata.service;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.io.UnsupportedEncodingException;
import.HttpURLConnection;
import.URL;
import.URLEncoder;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.http.HttpResponse;
importorg.apache.http.NameValuePair;
importorg.apache.http.client.ClientProtocolException;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.apache.http.message.BasicNameValuePair;
importandroid.widget.Gallery;
importandroid.widget.Toast;
importcom.xu.submitdata.MainActivity;
importcom.xu.submitdata.util.StreamToo;
publicclassLoginService{
publicstaticStringloginByGet(Stringusername,Stringpassword)
{
try{
//要解决乱码问题
Stringpath="http:
//192.168.1.102:
8080/android/servlet/LoginServlet?
username="+URLEncoder.encode(username,"UTF-8")+"&password="+URLEncoder.encode(password,"UTF-8");
URLurl=newURL(path);
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
intcode=conn.getResponseCode();
if(code==200)
{
InputStreamis=conn.getInputStream();
Stringtext=StreamToo.readInputStream(is);
returntext;
}
else
{
System.out.println("shibai");
returnnull;
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnnull;
}
publicstaticStringloginByPost(Stringusername,Stringpassword)
{
try{
Stringpath="http:
//192.168.1.102:
8080/android/servlet/LoginServlet";
URLurl=newURL(path);
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("POST");
//解决乱码问题
Stringdate="username="+URLEncoder.encode(username,"UTF-8")+"&password="+URLEncoder.encode(password,"UTF-8");
//指定数据的类型
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
//指定数据的长度
conn.setRequestProperty("Content-Length",date.length()+"");
//post的方式实际上是浏览器把数据写到服务器
conn.setDoOutput(true);
OutputStreamos=conn.getOutputStream();
os.write(date.getBytes());
intcode=conn.getResponseCode();
if(code==200)
{
InputStreamis=conn.getInputStream();
Stringtext=StreamToo.readInputStream(is);
returntext;
}
else
{
returnnull;
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnnull;
}
publicstaticStringloginByHttpclien(Stringusername,Stringpassword)
{
//打开一个浏览器
HttpClientclient=newDefaultHttpClient();
//输入地址
Stringpath;
try{
path="http:
//192.168.1.102:
8080/android/servlet/LoginServlet?
username="+URLEncoder.encode(username,"UTF-8")+"&password="+URLEncoder.encode(password,"UTF-8");
HttpGethttpGet=newHttpGet(path);
//点击回车
HttpResponseresponse=client.execute(httpGet);
//拿到状态码
intcode=response.getStatusLine().getStatusCode();
if(code==200)
{
InputStreamis=response.getEntity().getContent();
Stringtext=StreamToo.readInputStream(is);
returntext;
}
else
{
returnnull;
}
}
catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnnull;
}
publicstaticStringloginByHttpclienPost(Stringusername,Stringpassword)
{
//打开一个浏览器
HttpClientclient=newDefaultHttpClient();
//输入地址
Stringpath;
try{
path="http:
//192.168.1.102:
8080/android/servlet/LoginServlet";
HttpPosthttppost=newHttpPost(path);
//指定要提交的数据实体
List
parameter.add(newBasicNameValuePair("username",username));
parameter.add(newBasicNameValuePair("password",password));
httppost.setEntity(newUrlEncodedFormEntity(parameter,"utf-8"));
//点击回车
HttpResponseresponse=client.execute(httppost);
//拿到状态码
intcode=response.getStatusLine().getStatusCode();
if(code==200)
{
InputStreamis=response.getEntity().getContent();
Stringtext=StreamToo.readInputStream(is);
returntext;
}
else
{
returnnull;
}
}
catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnnull;
}
}
StreamToo.java
packagecom.xu.submitdata.util;
importjava.io.ByteArrayOutputStream;
importjava.io.IOExce
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 采用 httpclien 提交 数据 服务器
![提示](https://static.bdocx.com/images/bang_tan.gif)