API 3.0 auf 2.5 setzen

Kenan89

Bekanntes Mitglied
Hallo,

ich hoffe, das Thema ist hier richtig.

Um mich mit WebSockets vertraut zu machen, habe ich in mein TomCat JWebSocket eingefügt.
Dieser startet auch korrekt, wie es im TomCatManager steht, wenn man nach dem Deployen drauf klickt.

Im Eclipse habe ich dann ein Versuchsprojekt angelegt. Diesen kann ich aber nicht TomCat 6 Server zuweisen. Anscheinend muss ich die API von 3.0 auf 2.5. Aber wie funktioniert das?

Danke im voraus.

[EDIT]

Ausserdem, verbindet er sich nicht mit dem JWebSocket, wenn ich die index.jsp nicht über Eclipse, sondern manuell über webapps öffne. Der Code dazu schaut folgendermaßen aus:
Java:
<!DOCTYPE html>

<html>

<head>
	<title>Websocket</title>
	<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
</head>
	
<body>

	<form action="#" id="chat_form" method = "post">
	
		<input id="msg">
		
		<input type="submit" value="senden">
	
	</form>

	<script>
		
		var websocket = new WebSocket('ws://localhost:8080');
	
		websocket.onopen = function(event){
			$('#chat').append('<br> Connection...');
		}
		
		websocket.onmessage = function(event){
			$('#chat').append(event.data);
		}
		
		websocket.onclose = function(event){
			$('#chat').append("<br> closed");
		}
		
		$(function(){
			$('form#chat_form').submit(function(e){
				e.preventDefault();
				var textfield = $('#msg');
				websocket.send(textfield.val());
				textfield.val("");
			})
		});
		
	</script>
	
</body>

</html>
[/EDIT]
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Wenn ich die Tomcat-Doku richtig verstehe, gibt es einen eins zu eins Zusammenhang zwischen Tomcat-Version und unterstützter Servlet-API-Version:
  • Apache Tomcat version 5.5 implements the Servlet 2.4 and JavaServer Pages 2.0
  • Apache Tomcat version 6.0 implements the Servlet 2.5 and JavaServer Pages 2.1
  • Apache Tomcat version 7.0 implements the Servlet 3.0 and JavaServer Pages 2.2
Meines Wissens nach kann das auch nicht geändert werden. Wenn Deine Webapp auf Servlet 3.0 aufsetzt, muss sie also wohl in einem 7er-Tomcat deployt werden.
 

Kenan89

Bekanntes Mitglied
Kann ich meine Webapp nicht runter auf 2.5 runterschalten? In einer pom.xml habe ich in google gefunden, aber was genau muss ich ändern?
 

Kenan89

Bekanntes Mitglied
Ausserdem... Kann ich JWebSocket nicht auch ohne den TomcatManager deployen?
Ich habe im conf Ordner des tomcat Ordners in C die tomcat-users.xml so verändert, dass ich mich anmelden konnte(neuen role-User angelegt).
Kann es sein, dass der Fehler daher kommt, weil ich mit einem neu definierten User im manager den JWebSocket deployt habe?
 

Kenan89

Bekanntes Mitglied
Laut einer anderen Einleitung brauche ich eine Java Klasse, welches den ServletContextListener
implementiert.
Das Problem ist, dass Eclipse nur Servlet API 2.5 für Tomcat 6 unterstützt. Da ich aber bisher, bevor ich mit WebSockets angefangen habe, zu arbeiten, immer Tomcat 7 benutzt habe, kann ich mein Projekt nicht in einem Tomcat 6 Server starten.
Wie kann ich die Servlet APi auf 2.5 ummschalten?
 
N

nillehammer

Gast
Das Problem ist, dass Eclipse nur Servlet API 2.5 für Tomcat 6 unterstützt. Da ich aber bisher, bevor ich mit WebSockets angefangen habe, zu arbeiten, immer Tomcat 7 benutzt habe, kann ich mein Projekt nicht in einem Tomcat 6 Server starten.
Wie kann ich die Servlet APi auf 2.5 ummschalten?
Ich dachte, das wäre in meiner letzten Antwort deutlich gewesen. Es liegt nicht an Eclipse, sondern an der Tomcat-Version. Diese hat einen direkten Bezug zur Version der Servlet-API. Wenn Deine Anwendung Servlet 3.0 braucht, dann geht nur der Tomcat 7.

Wenn Dich das stört, dann such in Deiner Webapp die lib, die Servlet 3.0 braucht und versuch, sie rauszuschmeißen, downzugraden o.ä.
 

Kenan89

Bekanntes Mitglied
Das hat sich jetzt erledigt.

Bevor ich mich verrenn` fass ich noch einmal mein aktuelles Problem zusammen:

Ich möchte JWebSocket verwenden in meinen webapp Applikationen, z.B. wenn ich ein Chat programmiere.

Ich habe schon die Daten
JWebSocketClient-1.0-nb20507
JWebSocketFullSources-1.0-nb20507
JWebSocketServer-1.0-nb20507

runtergeladen.

Was ist der nächste Schritt?
 

Ähnliche Java Themen

Neue Themen


Oben