Hallo,
kennt jemand eine gute Seite, auf der erklärt wird, wie man von einer JSP-Seite aus ein eigenes Servlet aufruft und wie JSP und Servlet in ein Eclipse-Projekt bzw. in die publizierte Webversion (-> WAR?) eingebunden werden müssen, damit sie zusammenarbeiten können?
Diese Seite erklärt schon viel:
http://www.torsten-horn.de/techdocs/java-eclipse.htm#Tomcat
und das Einführungstutorial
http://www.galileocomputing.de/openbook/javainsel5/javainsel17_000.htm#Xxx999378
ist schon auch hilfreich für Anfänger,
aber ich schaff es eben noch nicht, vom JSP aus das Servlet aufzurufen.
Vielleicht ist es aber auch gar nicht so gedacht, dass man von JSP aus in ein eigenes Servlet überspringt, zumal ich ja noch KEIN - nicht mal im galileocomputing, wo es ja eine ewiglange Einführung gibt - Beispiel dafür gefunden habe, außer für "form action"-Aufrufe, ansonsten immer nur so Standardmethodenaufrufe wie "java.util.Date()" - weiß ich eben nicht.
In dem Fall bitte ich um kurze Aufklärung, wie ich denn am Einfachsten von der Clientseite in ein Java-Servlet rüberkomme und evtl. auch wieder zurück, wenn das Servlet eben nicht alles machen soll. ;)
Im Anhang mein bisheriger, gescheiterter Eclipse-Versuch mit der Jasper-Fehlermeldung, von JSP aus ein Servlet zu starten.
Gruß Michi
____________________________________________________________________
____________________________________________________________________
Meine Projektstruktur vom Projekt "MyFirstJSP" im Eclipse schaut so aus:
HelloJSP.jsp
WEB-INF/src/HalloServlet.java
WEB-INF/web.xml
Inhalte:
HelloJSP.jsp:
_______________________________________________________________________
<%@ page import="java.text.*" %>
<%@ page import="java.util.*" %>
<html>
Hallo, meine erste JSP-Seite meldet sich!<br>
<%= request.getRemoteHost() %>,
<%= (new SimpleDateFormat("yyyy-MM-dd, HH:mm:ss")).format(new Date()) + " h" %>
<%= (new HalloServlet()) %>
</html>
_______________________________________________________________________
WEB-INF/src/HalloServlet.java:
_______________________________________________________________________
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HalloServlet extends HttpServlet
{
public void doGet( HttpServletRequest requ, HttpServletResponse resp )
throws ServletException, IOException
{
resp.setContentType( "text/html" );
PrintWriter out = resp.getWriter();
// out.println( "<html>" );
out.println( "Hallo, mein erstes Servlet meldet sich." );
// out.println( "</html>" );
out.close();
}
}
_______________________________________________________________________
WEB-INF/web.xml:
_______________________________________________________________________
<!DOCTYPE web-app PUBLIC
'-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
<display-name>Mein erstes Servlet</display-name>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HalloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
_______________________________________________________________________
Fehlermeldung:
_______________________________________________________________________
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 8 in the jsp file: /HelloJSP.jsp
Generated servlet error:
HalloServlet cannot be resolved to a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
_______________________________________________________________________