Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > Как реализовать HttpServer ?


Автор: Wardrag 25.10.2011, 11:43
Собственно,при попытке заимпортить эти классы уже возникают ошибки (что-то по поводу прав доступа,которые выплевывает либа.

Код

import com.sun.net.httpserver.HttpServer; - Access Restriction:the type HttpServer is not accessible due to restriction on required library 
'тут путь до rt.jar'


Дальше - хуже.При попытке оверрайда всех методов из этого класса,возникает куча других ошибок.Так вот вопрос - есть ли средство избежать реализации всех методов,оставляя реализованными только их часть ?

Добавлено через 58 секунд
Код следующий:

Код

import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.Executor;
import com.sun.net.httpserver.HttpContext;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class MyHttpServer extends HttpServer {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

    @Override
    public void bind(InetSocketAddress arg0, int arg1) throws IOException {
        // TODO Auto-generated method stub
        
    }

    @Override
    public HttpContext createContext(String arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public HttpContext createContext(String arg0, HttpHandler arg1) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public InetSocketAddress getAddress() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Executor getExecutor() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void removeContext(String arg0) throws IllegalArgumentException {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void removeContext(HttpContext arg0) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void setExecutor(Executor arg0) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void start() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void stop(int arg0) {
        // TODO Auto-generated method stub
        
    }

}



Добавлено через 11 минут и 40 секунд
Забыл добавить,что используется JRE,Eclipse SDK 3.6.2

Автор: Stolzen 25.10.2011, 15:45
Не знаю, что вы хотите сделать, но попробуйте использовать Jetty.

Автор: LSD 25.10.2011, 16:36
1. Проверь используемую версию JDK, должна быть 6.
2. Возможно это проблема конкретно эклипса, он запрещает использовать не публичный API и надо ковыряться в его настройках.

Автор: Welemir 28.10.2011, 21:50
Эх,временно перешёл на NetBeans,ещё не проверял...Спасибо всем,кто ответил,а сделать я хотел простенький хттп сервер = )

Автор: Pawl 30.10.2011, 23:24
Цитата(Welemir @  28.10.2011,  21:50 Найти цитируемый пост)
а сделать я хотел простенький хттп сервер = )

А делать-то, собственно, и не надо!   smile  Возьмите готовый, он вместе с jdk устанавливается, лежит в ...\Java\jdk1.7.0\sample\nio\server
(в ридми так и сказано: 
Цитата
 A Simple NIO-based HTTP/HTTPS Server Example 
) и переделайте его в просто  HTTP Server! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)