访问web,web发布到服务器,通过访问服务器来访问程序
安卓访问:
1.servlet必须发布到服务器
2.服务器是开启的状态 通过访问服务器上servlet地址来访问dopost
3.在安卓端使用异步来访问servlet
类继承AsyncTask
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;
/**
* Servlet implementation class MyServlet2
*/
public class MyServlet2 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MyServlet2() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//System.out.print(123);
String un=request.getParameter("un");
String pw=request.getParameter("pw");
System.out.println(un+"-"+pw);
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Type", "text/html; charset=utf-8");
PrintWriter out=response.getWriter();
if("admin".equals(un)&&"123".equals(pw)){
out.print("成功");
}else{
out.print("失败");
}
out.flush();
out.close();
}
}
public class Main3Activity extends AppCompatActivity {
private Button button;
private EditText un;
private EditText pw;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
button= (Button) findViewById(R.id.button2);
un= (EditText) findViewById(R.id.editText);
pw= (EditText) findViewById(R.id.editText2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//异步访问selvet
String unV=un.getText().toString().trim();
String pwV=pw.getText().toString().trim();
String info= null;
try {
info = new MyTask1(unV,pwV).execute("http://10.151.2.14:8080/lesson13/MyServlet2").get();
Log.i("message",info);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
});
}
}
class MyTask1 extends AsyncTask{
String unV,pwV;
MyTask1(String unV,String pwV){
this.unV=unV;
this.pwV=pwV;
}
@Override
protected String doInBackground(String... params) {
try {
params[0]=params[0]+"?un="+unV+"&pw="+pwV;
HttpURLConnection httpURLConnection= (HttpURLConnection) new URL(params[0]).openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setReadTimeout(8000);
BufferedReader bufferedReader= new BufferedReader(new InputStreamReader( httpURLConnection.getInputStream()));
String info= bufferedReader.readLine();
// Log.i("message",info);
return info;
} catch (java.io.IOException e) {
e.printStackTrace();
return "";
}
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
}
以上是get方式传值
post方式传值
httpURLConnection.setRequestMethod("POST");
String param="un="+unV+"&pw="+pwV;
OutputStream outputStream= httpURLConnection.getOutputStream();
outputStream.write(param.getBytes());
outputStream.close();
public class Main4Activity extends AppCompatActivity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
imageView= (ImageView) findViewById(R.id.imageView2);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new MyTask2().execute("http://10.151.2.14:8080/lesson13/image/out.jpg");
}
});
}
class MyTask2 extends AsyncTask{
@Override
protected Bitmap doInBackground(String... params) {
try {
HttpURLConnection httpURLConnection= (HttpURLConnection) new URL(params[0]).openConnection();
//post方式传值
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setReadTimeout(8000);
Bitmap bitmap= BitmapFactory.decodeStream(httpURLConnection.getInputStream());
return bitmap;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Bitmap bitmap) {
super.onPostExecute(bitmap);
imageView.setImageBitmap(bitmap);
}
}
}