Einhaltung von Spezifikationen

Das JSP ja, nur der Verweis in der ACTION nicht.
Im Studio habe ich dazu in der server.xml ein servlet-mapping eingerichtet, kann hier aber nirgends was angeben - oder muss ich das manuell tun? *grusel*
Wie gesagt, ich bin versaut, hatte da nette Eingabeformulare für Mappings u.a.
 
Zuletzt bearbeitet:
Äh, sorry... welche Action meinst Du jetzt? Ein JSP-Action-Tag? :rolleyes:
Was ist das denn für ein Verweis und wohin zeigt der? Zeig mal den Code bis dahin.

Das Mapping ist nur wichtig, wenn Du Servlets in der Anwendung hast. Dazu erstellst Du im Verzeichnis /WEB-INF einfach eine Datei namens web.xml, die folgende Struktur hat:

Code:
<?xml version="1.0" ?>

<!-- DocType weiss ich gerade nicht auswendig... //-->

<web-app>
    <servlet>
        <servlet-name>servletName</servlet-name>
        <servlet-class>de.dein.package.ServletClass</servlet-class>
    </servlet>
    <!-- ... //-->
    <servlet-mapping>
        <servlet-name>servletName</servlet-name>
        <url-pattern>/servletUri</url-pattern>
    </servlet-mapping>
    <!-- ... //-->
</web-app>
 
ups, hatte ich vergessen zu erwähnen.
Ja, ein Servlet ist da. Hmmm also von Hand...

Ja, die ACTION in der FORM des JSP, verweist auf ein Servlet, das ein wenig was macht, dann eine Result.jsp aufruft, die dann die request-Objects ausliest und nen Wert ausgibt.
 
Gut, das mit der Weiterleitung liegt vermutlich daran, dass der Server das Action-Attribut vom HTML-Formular nicht kennt und daher die Anfrage ins Nirwana schickt.
Servlets musst Du jeweils erst in der web.xml (dem "Deployment-Deskriptor") bekannt machen und einer URI zuordnen, sonst sind das für den Server einfach nur irgendwelche Klassen. Ist zwar etwas Handarbeit, geht aber nach einiger Zeit recht flüssig.
Und immer wenn der Deployment-Deskriptor bearbeitet worden ist, sollte der Server mal neu gestartet werden.
 
Oh ha!
Soweit war ich letztends sogar auf dem Remote-Server!

type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception java.lang.IllegalArgumentException: Path Result.jsp does not start with a "/" character Servlet.doPost(Servlet.java:33) javax.servlet.http.HttpServlet.service(HttpServlet.java:763) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) note The full stack trace of the root cause is available in the Tomcat logs.
 
Wow, ich steigere mich:

Code:
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: -1 in the jsp file: null    Generated servlet error:      javac Compiling 1 source file    D:\@ Download\eclipse\workspace\ServletTest\work\org\apache\jsp\Result_jsp.java:6: '.' expected  import TestObject;                   ^  1 error      	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)  	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)  	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)  	org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)  	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)  	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)  	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)  	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)  	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)  	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)  	Servlet.doPost(Servlet.java:33)  	javax.servlet.http.HttpServlet.service(HttpServlet.java:763)  	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)      note The full stack trace of the root cause is available in the Tomcat logs.

Quellcode des JSP:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <META name="GENERATOR" content="IBM WebSphere Studio"> <TITLE>Result.jsp</TITLE> </HEAD> <BODY> <%@ page import="TestObject" %> <% TestObject o; java.util.Vector v = (java.util.Vector) request.getAttribute("Obj"); java.util.Enumeration e = v.elements(); while (e.hasMoreElements()) { o = (TestObject)e.nextElement(); %> <P><%=o.getAValue()%></P> <%}%> </BODY> </HTML>

Nun reichts mir aber für heute... morgen!
Gute Nacht und vielen vielen Dank bis hier hin :)
 
Zuletzt bearbeitet:
Ich habe das oben erwähnte Problem lösen können:

Ich habe die Klasse TestObject in ein Paket verschoben - dann ging's.

Daraus ergibt sich allerdings eine Frage:
Ist es Pflicht, dass man Pakete verwendet? Oder sagen wir so: ist es notwendig, dass Servlet und andere Klassen in unterschiedlichen Paketen enthalten sind?
Oder ist dies mal wieder eine Eigenart des Tomcat - so wie der führende "/" in den URIs?
 
Zurück