java.net.ConnectException:连接失败,断开连接失败:EHOSTUNREACH(没有到主机的路由)
我正在尝试使用Rest和post从Android连接Tomcat服务器 这是Post和Response的一部分java.net.ConnectException:连接失败,断开连接失败:EHOSTUNREACH(没有到主机的路由),java,android,rest,jsp,tomcat,Java,Android,Rest,Jsp,Tomcat,我正在尝试使用Rest和post从Android连接Tomcat服务器 这是Post和Response的一部分 public void networkServiceModule(String ID, String Pwd){ Log.d("networkServiceModule","ID : "+ID); Log.d("networkServiceModule","PW : "+Pwd); Call<PostJson> thumbn
public void networkServiceModule(String ID, String Pwd){
Log.d("networkServiceModule","ID : "+ID);
Log.d("networkServiceModule","PW : "+Pwd);
Call<PostJson> thumbnailCall = ApplicationController.buildNetworkService().postLogin(new PostJson(ID,Pwd));
thumbnailCall.enqueue(new Callback<PostJson>() {
@Override
public void onResponse(Response<PostJson> response, Retrofit retrofit) {
if(response.isSuccess()) {
String resultCode = response.body().getResult_code().toString();
Log.d("networkServiceModule", "response Code : "+resultCode);
Toast.makeText(getBaseContext(), "Login : " + resultCode, Toast.LENGTH_SHORT).show();
} else {
int statusCode = response.code();
Log.d("networkServiceModule", "response Code : "+statusCode);
}
}
@Override
public void onFailure(Throwable t) {
Log.d("onFailure", "onFailure Code "+t.toString());
}
});
}
下面是login.jsp的一些代码
<body>
<%
int login_status = 0; //0: empty data, 1: login success, 2: wrong pwd, 3: id not found
String ID = request.getParameter("id");
String PW = request.getParameter("pw");
String str = null;
String url = "http://192.168.1.6:8080/Attendance/login.jsp";
if (ID == null)
login_status = 0;
else if (PW == null)
login_status = 0;
else {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb?autoReconnect=true&useSSL=false", "root", "1234");
if (conn == null)
throw new Exception("db connection failed");
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM lists WHERE Email = '" + ID + "';");
if (rs.next()) { //existing ID
String Email = rs.getString("Email");
String Passwd = rs.getString("Passwd");
if (PW.equals(Passwd)) { //1: login success
login_status = 1;
}
...
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("result_code", login_status);
out.print(jsonObject);
%>
</body>
我只是编程的初学者。
你的评论对我会有很大的帮助。
提前感谢:)基本问题您的设备和服务器共享相同的wifi?同样,如果您的服务器有任何可访问的网页,您可以通过手机的web浏览器访问它们吗?我怀疑这是一个网络问题。是的,他们使用相同的wifi,我可以通过手机的网络浏览器访问服务器网页。谢谢大家,这是一个端口问题:)
<body>
<%
int login_status = 0; //0: empty data, 1: login success, 2: wrong pwd, 3: id not found
String ID = request.getParameter("id");
String PW = request.getParameter("pw");
String str = null;
String url = "http://192.168.1.6:8080/Attendance/login.jsp";
if (ID == null)
login_status = 0;
else if (PW == null)
login_status = 0;
else {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/testdb?autoReconnect=true&useSSL=false", "root", "1234");
if (conn == null)
throw new Exception("db connection failed");
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM lists WHERE Email = '" + ID + "';");
if (rs.next()) { //existing ID
String Email = rs.getString("Email");
String Passwd = rs.getString("Passwd");
if (PW.equals(Passwd)) { //1: login success
login_status = 1;
}
...
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("result_code", login_status);
out.print(jsonObject);
%>
</body>
public interface NetworkService {
@POST("/Attendance/login.jsp")
Call<PostJson> postLogin(@Body PostJson postJson);
@GET("/Attendance/login.jsp")
Call<Login> getLogin();
}
public class PostJson {
String id;
String pw;
public PostJson(String Id, String Pw){
id = Id;
pw = Pw;
}
String result_code;
public String getResult_code(){
return result_code;
}
}