JSP Progress Bar in JSP nur mit Java

Dimax

Dimax

Bekanntes Mitglied
Guten Tag,
ich versuche ein Progressbalken in JSP-Seite einbauen,es klappt aber nicht.
Das Balken soll zeigen wie weit das Programm beim Dateianalyse ist.
Auf dieser Seite wird das Balken eingebaut :

MeineJspSeite.jsp
Code:
//Dieser div-Container soll sich die Parameter für Balkenbreite vom Response holen
<div id='myBar' style='background-color:red;width:
 <%=response.getOutputStream() %>;height:30px;'><%=response.getOutputStream() %>
 </div>
 <%  }else{out.print("wird eingelesen");}%>
  </div>

In dieser Datei wird der Parameter gesendet:

MeinJavaFile.java

Code:
@WebServlet("/MeinJavaFile")
@MultipartConfig
public class MeinJavaFile extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

boolean Ergebniss =funktionAufruf1();
if(Ergebniss){
PrintWriter out=response.getWriter();
                    response.setContentType("text/plain");
                    out.write("6%");
                    out.flush();
                    }
else{
System.out.println("Error Funktionaufruf 1);
} usw ..17 fuktionsaufrufe..
Das Problem ist ,dass der response öffnet ein neues Tab im Browser und dort schreibt 6% usw..
Wie kann ich den response als Parameter einsetzen?
 
Dimax

Dimax

Bekanntes Mitglied
Ich vermute ich muss mit dem RequestDispatcher den response umleiten ,damit er nicht im neuen Tab geöffnet wird.
Kennt sich jemand damit aus?
mein Versuch ging schief:
Code:
request.getRequestDispatcher("pfad zu meine Datei").include(request, response);
 
Dimax

Dimax

Bekanntes Mitglied
Danke an alle die etwas schreiben wollten.Auf ein request mehrere responses senden geht nicht.Und somit können wir diese Thema schlissen.
 
Dimax

Dimax

Bekanntes Mitglied
Ich habe es gelöst mit Hilfe von
<meta http-equiv="refresh" content="1">

Also auf der html Seite kleines JavaScript zum Anzeigen von ProgressBar:
Code:
<script>
function demoDisplay() {
  document.getElementById("progress").style.display = "block";
}
</script>
und da ,wo man ProgressBar haben möchte, ein div mit iframe wo als Quelle das Servlet, das mir das Fortschritt zurückliefert.
Code:
<div id="progress" style="width:60%;height:5%;margin:auto;display:none">
    <iframe src="/programmAnalyse" scrolling="no" frameborder="0" style="width:80%;height:100%"></iframe>
</div>

Im Servlet bekomme ich das File per Post-methode und das ProgressBar wird per Get-methode geliefert:
Code:
private long breite=0;//Klassenvariable um von beiden Methoden darauf zugreifen zu können.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String antwort="<meta http-equiv=\"refresh\" content=\"1\"><div style=\"width:100%;height:100%\">"+
                    "Gesamtfortschritt: "+breite+"%<div style=\"width:"+
                        breite+"%;height:100%;background-color:green\"></div></div>";
     OutputStream outs=response.getOutputStream();
     response.setContentType("text/html");
     response.setContentLength(antwort.length());
     outs.write(antwort.getBytes());
     }
Funktioniert..sieht allerdings nicht professionell aus,weil das iframe wird nach eine Sekunde neue geladen,
dafür aber einfach zu implementieren und ohne zusätzlichen Bibliotheken.
 
mihe7

mihe7

Top Contributor
Was heißt "nur mit Java" und "ohne zusätzliche Bibliotheken"?

Um zu pollen, brauchst Du nicht jedesmal die Seite neu zu laden. Das kannst Du ganz einfach per JavaScript erledigen (über die Fetch API).

Für den Fall wäre long polling eine bessere Alternative. Unter https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/async-servlet/async-servlets.html findest Du ein etwas in die Jahre gekommenes Beispiel.

Auch ließe sich der Spaß mit WebSockets implementieren.

All das ist mit Java EE 7+ ohne zusätzliche Bibliotheken möglich.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
platofan23 Java Login Überprüfung ohne Srciptlets in der JSP Web Tier 4
S Einträge aus Datenbank einzeln darstellen (JSP, JAVA, HTML) Web Tier 9
R JavaScript für Java Enterprise Entwickler Web Tier 1
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
S JSP Hm... Vorlage für Java Basierende Webseite? Web Tier 0
S Button klick soll Java methode aufrufen Web Tier 2
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
F JSP jSP Datei mit normalem Java Programm auslesen? Web Tier 5
T Spark Java Web Framework Web Tier 0
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S java.lang.ExceptionInInitializerError: Wieso??? Web Tier 3
N JSP Free Webhoster Java Backend? PHP? Web Tier 1
D Java EE Servlet login Problem Web Tier 1
L Servlet Java Entschlüsselungsprogramm in Webapplikation einbinden Web Tier 0
Streeber java.lang.NoClassDefFoundError: org/sqlite/NativeDB Web Tier 0
M GWT - Externe Java Libs auf Server Seite - zB. JDBC Web Tier 6
S Java Bean und Java Servlet Web Tier 2
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
H MVC in Java pur / Controller als Instanz? / Theorie! Web Tier 4
T Einsteigerfragen zu Servlets/Webprogrammierung mit Java Web Tier 11
J Übergabe von Parameter aus JSP an Java Web Tier 2
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
J JSF Java Beans Konventionen Web Tier 2
P Blog in Java/JSP Web Tier 5
S Per JavaScript Java ansteuern - Welche Technik? Web Tier 2
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
B Thread start bei Java Web Anwendung Web Tier 6
M Suche Java Framework Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
G Probleme mit EclipseLink und Java.util.Date Web Tier 3
jmar83 js kalendar, der mit java.text.SimpleDateFormat kombatibel ist... Web Tier 4
B Java EE 6 Problem (EL) Web Tier 4
F Migration eines CMS von PHP nach JAVA Web Tier 3
R GWT 2.1.1 mit Java 1.6 statt 1.5 Web Tier 8
W JSP - Attribut-Werte aus JAVA-Klasse ? Web Tier 8
T Werte aus java Klasse in jsp nutzen Web Tier 5
N java.lang.NoClassDefFoundError: org/jdom/JDOMException Web Tier 3
M JSP Ausgabe von Java-Objekten Web Tier 7
D JSP, Java Applets einbinden Web Tier 2
LadyMilka java.lang.NumberFormatException: For input string: ... Web Tier 5
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
K Bilder in Java-Webapplikationen Web Tier 12
S Java Servlet Content Type Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
J rich:modalpanel vom java-code aus öffnen und schliessen Web Tier 2
S Expression Language in Java Web Tier 13
A Ssh connection mit java jsch? Web Tier 2
W Java code aus JSP-File durch JSTL code ersetzen Web Tier 8
M Body onUnload Java Methode aufrufen Web Tier 13
F Frage zu Java Beans Web Tier 17
M Java Framework für größere Projekte verwenden Web Tier 5
U access denied bei Datei Schreiben mit Java unter Linux trotz gesetzter Rechte Web Tier 2
P Java-Program -> Web Programm Web Tier 6
F Java Applets in html einbinden Web Tier 10
A SSL-Zertifikat in Java-Webanwendungen laden Web Tier 4
jmar83 Wert hinter JSP-Tag nach Java-String in Skriptlet Web Tier 4
N java bean in eclipse Web Tier 6
S Java Code in JSF Web Tier 10
N Servlet und java.lang.NoClassDefFoundError Web Tier 4
D request.contextPath in Java-Klasse ausführen Web Tier 5
T In einem Struts Tag Werte mit Java einfügen Web Tier 2
G [JAVA / JSP] ArrayList in JSTL foreach verarbeiten Web Tier 4
G CSV-Anbindung an Java Web Tier 2
G Java Server Face Performancelastig? Web Tier 2
H Java Servlet und HTML Form Web Tier 3
U Java Application auf Tomcat Web Tier 5
G Validierung mit Java Server Faces Web Tier 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben