Java 纳米httpd不工作
大家好,我正在用NanoHttpd为android创建一个web服务器,当我运行它时,它说该活动已停止工作,请帮助我做什么。这是我正在使用的代码。代码如下:Java 纳米httpd不工作,java,android,webserver,nanohttpd,Java,Android,Webserver,Nanohttpd,大家好,我正在用NanoHttpd为android创建一个web服务器,当我运行它时,它说该活动已停止工作,请帮助我做什么。这是我正在使用的代码。代码如下: package dolphin.developers.com; import java.io.IOException; import java.util.Map; public class MyHTTPD extends NanoHTTPD { /** * Constructs an HTTP server
package dolphin.developers.com;
import java.io.IOException;
import java.util.Map;
public class MyHTTPD extends NanoHTTPD {
/**
* Constructs an HTTP server on given port.
*/
public MyHTTPD()throws IOException {
super(8080);
}
@Override
public Response serve( String uri, Method method,
Map<String, String> header, Map<String, String> parms,
Map<String, String> files )
{
System.out.println( method + " '222" + uri + "' " );
String msg = "<html><body><h1>Hello server</h1>\n";
if ( parms.get("username") == null )
msg +=
"<form action='?' method='get'>\n" +
" <p>Your name: <input type='text' name='username'></p>\n" +
"</form>\n";
else
msg += "<p>Hello, " + parms.get("username") + "!</p>";
msg += "</body></html>\n";
return new NanoHTTPD.Response(msg );
}
public static void main( String[] args )
{
try
{
new MyHTTPD();
}
catch( IOException ioe )
{
System.err.println( "Couldn't start server:\n" + ioe );
System.exit( -1 );
}
System.out.println( "Listening on port 8080. Hit Enter to stop.\n" );
try { System.in.read(); } catch( Throwable t ) {
System.out.println("read error");
};
}
}
查看您的AndroidManifest.xml并确保您的主要活动已注册(在您的示例中是MyHTTPD)。这是一个非常基本的清单文件,看看标签。我把你的课作为一个条目
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.epstest"
android:versionCode="1"
android:versionName="1.0" >
....
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
....
---------------------------------------------------------------------------------------
<activity
android:name="dolphin.developers.com.MyHTTPD"
android:label="@string/title"
android:configChanges="orientation" >
</activity>
</application>
</manifest>
---------------------------------------------------------------------------------------
<activity
android:name="dolphin.developers.com.MyHTTPD"
android:label="@string/title"
android:configChanges="orientation" >
</activity>
</application>
</manifest>
你能看一看你的LogCat,看看错误信息是什么吗?嘿,我已经添加了LogCat。我添加了它,但现在它没有给我一个错误,但当我尝试使用127.0.0.1:8080查看服务器时,它说无论如何不能连接到服务器。thanx回答..我说1。)确保你的Web服务器正在运行,即使你关闭了服务器要查看的应用程序(如果您从手机/平板电脑查看)。2.)若要测试此项并进行一般测试,您可能会更幸运地将手机/平板电脑连接到本地wifi网络并找到手机的IP地址,从那里使用其本地IP从您的计算机访问您的服务器,例如:192.168.2.13:8080。D:祝你好运。当我试着说主机花了太多时间回应任何建议时,我得到的唯一想法是使用一个不同于8080的端口。8080是tomcat服务器使用的端口,可以在android手机上保留(只是快速猜测)。只需在代码中设置断点并定期进行测试,尝试使用调试方法,如通过命令提示符ping手机,当遇到问题时,从您能做的事情和您知道正在做的事情开始,然后按照您的方式解决问题。德国劳埃德船级社