Di mana menempatkan file robots.txt di server jetty?

Saya baru-baru ini mulai memeriksa kerentanan keamanan aplikasi web kita melalui alat yang disebut Zap. Setelah menjalankannya saya menemukan bahwa saya harus memasukkan robots.txt juga di aplikasi web kami.
Alat ini mencari file di direktori root aplikasi web (https://localhost:8080) dan file disajikan di sana, tetapi muncul kesalahan yang mengatakan "file tidak ditemukan". Server web yang saya jalankan adalah Jetty-9.3.8 dan berikut adalah struktur pohon aplikasi web

etc 
   - webdefault.xml
webapps
   - myapp
          - web.xml
          - generated-web.xml
robots.txt    

Kami menggunakan dermaga tertanam untuk memulai server. Seperti ini:

    WebAppContext context = new WebAppContext();
    context.setContextPath("/myapp");
    context.setWar(jettyHome + "/webapps/myapp/");
    context.setDefaultsDescriptor(jettyHome + "/etc/webdefault.xml");
    File overrideFile = new File(jettyHome
            + "/webapps/myapp/WEB-INF/generated-web.xml");
    if (overrideFile.exists()) {
        context.setOverrideDescriptor(jettyHome
                + "/webapps/myapp/WEB-INF/generated-web.xml");
    }

    server.setHandler(context);
    server.start();

Jadi, cara menempatkan file di direktori root bukanlah yang saya dapatkan. Adakah yang tahu tentang ini?


person devd    schedule 29.04.2016    source sumber


Jawaban (1)


Anda memerlukan sesuatu yang menyajikan konten statis dari contextPath dari / agar dapat berfungsi.

Tambahkan WebAppContext atau ServletContextPath atau ResourceHandler lain untuk menyajikan file. Pastikan Anda memiliki ...

  • context.setContextPath("/") siap
  • context.setBaseResource(Resource.newResource("uri/path/to/my/static/content")
person Joakim Erdfelt    schedule 29.04.2016