Guten Abend,
zuerst: Dies ist mein erster Post in diesem Forum, also Bitte ich um Nachsicht, falls dies das falsche Unterforum ist,
oder ich gewisse Gepflogenheite missachte.
Jetzt aber los:
Ich habe nun im Rahmen meiner Ausbildung schon einiges an Java programmiert (vorher Delphi,Python,PHP), würde mich aber
in keinster Weise als Java-Programmierer bezeichnen.
Nichtsdestorotz wollte ich einmal in die Entwicklung mit Java Web Services reinschnuppern.
Ich benutzt zurzeit die IntelliJ Ultimate Edition.
Dort habe ich ein Projekt als WebService angelegt und auch Restful mit dazugenommen.
Als Deployment Server habe ich mir Tomcat 8.5.50 heruntergeladen.
Dabei habe ich alles so wie hier gemacht: https://www.jetbrains.com/help/idea/creating-and-running-your-first-restful-web-service.html
ausser das ich anstatt Glassfish einfach Tomcat genommen habe.
Wenn ich nun aber meine Anwendung starte, bekomme ich zwar nicht direkt Fehlermeldungen, der ganze Text ist aber rot hinterlegt:
Wenn ich auf localhost::8080/WebApp_war_exploded zugreife, bekomme ich nur ein "$END$"
und wenn ich auf localhost::8080/WebApp_war_exploded\helloworld zugreife ein 404
Mein Code ist wie in dem besagten Beispiel:
MyApplication Klasse:
HelloWorld Klasse:
Bei jedem der bis hier hin gekommen ist bedanke ich mich schonmal fürs lesen und hoffe das dazu ein paar Ideen gibt.
Grüße thomasmue
zuerst: Dies ist mein erster Post in diesem Forum, also Bitte ich um Nachsicht, falls dies das falsche Unterforum ist,
oder ich gewisse Gepflogenheite missachte.
Jetzt aber los:
Ich habe nun im Rahmen meiner Ausbildung schon einiges an Java programmiert (vorher Delphi,Python,PHP), würde mich aber
in keinster Weise als Java-Programmierer bezeichnen.
Nichtsdestorotz wollte ich einmal in die Entwicklung mit Java Web Services reinschnuppern.
Ich benutzt zurzeit die IntelliJ Ultimate Edition.
Dort habe ich ein Projekt als WebService angelegt und auch Restful mit dazugenommen.
Als Deployment Server habe ich mir Tomcat 8.5.50 heruntergeladen.
Dabei habe ich alles so wie hier gemacht: https://www.jetbrains.com/help/idea/creating-and-running-your-first-restful-web-service.html
ausser das ich anstatt Glassfish einfach Tomcat genommen habe.
Wenn ich nun aber meine Anwendung starte, bekomme ich zwar nicht direkt Fehlermeldungen, der ganze Text ist aber rot hinterlegt:
ApacheConf:
[COLOR=rgb(0, 0, 0)][2019-12-17 09:16:38,486] Artifact WebApp:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE: "C:\Users\dillinger\.IntelliJIdea2019.3\system\tomcat\Tomcat_8_5_20_WebApp"
Using CATALINA_HOME: "C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50"
Using CATALINA_TMPDIR: "C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_60"
Using CLASSPATH: "C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50\bin\bootstrap.jar;C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50\bin\tomcat-juli.jar"[/COLOR]
[COLOR=rgb(226, 80, 65)]17-Dec-2019 21:16:39.381 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log
Server Version: Apache Tomcat/8.5.50
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Dec 7 2019 19:19:46 UTC
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 8.5.50.0
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 10
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Architektur: amd64
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files\Java\jdk1.8.0_60\jre
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_60-b27
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Hersteller: Oracle Corporation
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log
CATALINA_BASE: C:\Users\dillinger\.IntelliJIdea2019.3\system\tomcat\Tomcat_8_5_20_WebApp
17-Dec-2019 21:16:39.382 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\dillinger\.IntelliJIdea2019.3\system\tomcat\Tomcat_8_5_20_WebApp\conf\logging.properties
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\dillinger\.IntelliJIdea2019.3\system\tomcat\Tomcat_8_5_20_WebApp\jmxremote.password
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\dillinger\.IntelliJIdea2019.3\system\tomcat\Tomcat_8_5_20_WebApp\jmxremote.access
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\dillinger\.IntelliJIdea2019.3\system\tomcat\Tomcat_8_5_20_WebApp
17-Dec-2019 21:16:39.383 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50
17-Dec-2019 21:16:39.386 INFORMATION [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50\temp
17-Dec-2019 21:16:39.386 INFORMATION [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_60\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Embarcadero\Studio\20.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl;C:\Program Files (x86)\Embarcadero\Studio\20.0\bin64;C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Win64;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Mullvad VPN\resources;C:\Users\dillinger\Documents\Programme\installation\Git\cmd;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\dillinger\AppData\Local\Microsoft\WindowsApps;C:\Users\dillinger\AppData\Local\GitHubDesktop\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\dillinger\Documents\Programme\installation\intellij\IntelliJ IDEA Community Edition 2019.3\bin;;C:\Users\dillinger\Documents\Programme\installation\intellij_ultimate\IntelliJ IDEA 2019.3\bin;;.]
17-Dec-2019 21:16:39.474 INFORMATION [main] org.apache.coyote.AbstractProtocol.init Initialisiere ProtocolHandler["http-nio-8080"]
17-Dec-2019 21:16:39.523 INFORMATION [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
17-Dec-2019 21:16:39.534 INFORMATION [main] org.apache.coyote.AbstractProtocol.init Initialisiere ProtocolHandler["ajp-nio-8009"]
17-Dec-2019 21:16:39.536 INFORMATION [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
17-Dec-2019 21:16:39.536 INFORMATION [main] org.apache.catalina.startup.Catalina.load Initialization processed in 418 ms
17-Dec-2019 21:16:39.560 INFORMATION [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
17-Dec-2019 21:16:39.561 INFORMATION [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.50
17-Dec-2019 21:16:39.567 INFORMATION [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
17-Dec-2019 21:16:39.575 INFORMATION [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
17-Dec-2019 21:16:39.577 INFORMATION [main] org.apache.catalina.startup.Catalina.start Server startup in 40 ms[/COLOR]
[COLOR=rgb(0, 0, 0)]Connected to server
[2019-12-17 09:16:40,067] Artifact WebApp:war exploded: Artifact is being deployed, please wait...
[2019-12-17 09:16:40,366] Artifact WebApp:war exploded: Artifact is deployed successfully
[2019-12-17 09:16:40,366] Artifact WebApp:war exploded: Deploy took 299 milliseconds[/COLOR]
[COLOR=rgb(226, 80, 65)]17-Dec-2019 21:16:49.576 INFORMATION [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploye Web-Applikations-Verzeichnis [C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50\webapps\manager]
17-Dec-2019 21:16:49.637 INFORMATION [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Users\dillinger\Documents\Programmierung\Java\BlindSight\server\apache-tomcat-8.5.50\webapps\manager] has finished in [60] ms[/COLOR]
Wenn ich auf localhost::8080/WebApp_war_exploded zugreife, bekomme ich nur ein "$END$"
und wenn ich auf localhost::8080/WebApp_war_exploded\helloworld zugreife ein 404
Mein Code ist wie in dem besagten Beispiel:
MyApplication Klasse:
Java:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
//Defines the base URI for all resource URIs.
@ApplicationPath("/")
//The java class declares root resource and provider classes
public class MyApplication extends Application{
//The method returns a non-empty collection with classes, that must be included in the published JAX-RS application
@Override
public Set<Class<?>> getClasses() {
HashSet h = new HashSet<Class<?>>();
h.add( HelloWorld.class );
return h;
}
}
HelloWorld Klasse:
Java:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
// The Java class will be hosted at the URI path "/helloworld"
@Path("/helloworld")
public class HelloWorld {
// The Java method will process HTTP GET requests
@GET
// The Java method will produce content identified by the MIME Media type "text/plain"
@Produces("text/plain")
public String getClichedMessage() {
// Return some cliched textual content
return "Hello World";
}
}
Bei jedem der bis hier hin gekommen ist bedanke ich mich schonmal fürs lesen und hoffe das dazu ein paar Ideen gibt.
Grüße thomasmue