# Ant - Java Beans umsetzen



## Spin (14. Jan 2010)

Hallo liebe Leute .

Meine Frage lautet: Wie kann ich nun meine Bean Klassen nutzen innerhalb eines Java-Servlets?
Wie kann ich dieses bsp. kompilieren. ?
Ich benutze ja keine Mainmethode und habe alle bean klassen in 
dem Source Folder.


Muss ich die nicht in dem WEB-INF ordner packen? 
Also die kompilierten Daten?
Wenn ja , wie kann ich denn die Bean Klasse kompilieren. Ich habe gelesen , dass es mit ANT geht , aber ist das nicht maybe schon bei netbeans bei?


Wäre schön , wenn mir einer sagen könnte , wie ich eine beanklasse ausführe um sie dann in einer jsp nutzen zu können.
Danke.


----------



## maki (14. Jan 2010)

Netbeans, Eclipse, Ant, Maven etc. pp. können das alle.

Was du brauchst ist eine Java WebApp, Tutorials gibt es im Netz.


----------



## Spin (14. Jan 2010)

Ja sowas habe ich auch schon eingerichtet unter Netbeans.

Jetzt habe ich 2 Ordner. Einmal den Ordner Beans und einmal den ordner JSP.
Das sind von mir selbst gewählte Namen und domit selbst erstellte verzeichnisse.

Nun mache ich ich rechtsklick , neue Klasse schreiben.

Da habe ich nun eine java-bean klasse geschrieben und sie befindet sich automatisch im Package von Source.
Ok es ist eine *.java.
Nun habe ich gelesen , dass meine jsp auf die bean zugreifen kann.

<jsproperty.....


So , ich kann aber nicht auf die *.java zugreifen , sondern brauche später die .class.
Diese kann ich aber nich erstellen ohne eine Main.
Muss ich also eine Main erstellen , kompilieren , meine class aus dem slebst erstellten class ordner holen und dann in mein beans verzeichnis packen?

Oder gibt es da andere möglichkeiten?
Ich benutze Tomcat 6.0.
Auf dem will ich die jsp laufen lassen.
Mit zugriff auf externe Klassen.

danke ...vielleicht liegt die lösung ja auf der hand.


----------



## maki (14. Jan 2010)

Erstelle doch einfach ein dyn. WebProjekt in Netbeans und fang nicht an selber rumzufrickeln, nimm die vorgegebenen Namen für Ordner, für Netbeans gibt es sehr viele JSP/Servlet Tutorials, dann kann man auch gleich ein WAR File exportieren.


----------



## Spin (16. Jan 2010)

Hey Maki , magst du mir denn sagen , warum dass nicht funktioniert?



```
<%-- 
    Document   : beanInput
    Created on : 16.01.2010, 20:11:39
    Author     : Spin
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<%@ page import="java.util.*"%>

<%-- Binden der Java Bean an den symbolischen Namen 'form' --%>
<jsp:useBean id="form"
             class="classes.JavaBeanInfo"
             scope="session"/>

<%-- Übernehmen der HTTP Partameter in die JavaBean --%>
<jsp:setProperty name="form"
                 property="name"
                 value="<%= request.getParameter("name") %>" />

<jsp:setProperty name="form"
                 property="email"
                 value="<%= request.getParameter("email") %>" />

<%
// Aufruf der Geschäftslogik
form.validate();

// Weiterleiten des Requests, wenn die Daten gültig sind
if(form.isValid()){
    response.sendRedirect("beanOutput.jsp");

%>


        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>JSP Page</title>
            </head>
            <body>
                <%-- KOdieren des URL's --%>
                <form action='<%= response.encodeURL("beanInput.jsp") %>'>
                <%-- Ausgaben von aufgetretenden Fehlern --%>
                <% if(!form.isValid()){
                    out.println("<ul>");
                    Iterator i = form.getErrors().iteraror();
                    while(i.hasNext()){
                        out.println("<li>" + i.next()+"</li>");
                        }
                    out.println("</ul>");
                } %>


                Eingabe: <input type="text" name="name" /> <br/>
                         <input type="text" name="email" /> <br/>

                         <input type="reset" value="Reset" />
                         <input type="submit" value="Absenden" />
                </form>
            </body>
        </html>
```

Zum einen geht das überhaupt nicht :


```
value="<%= request.getParameter("name") %>" />
```

Zum anderen sagt er , dass package classes nicht gefunden wurde.
Ich habe einen Folder unter WEB-INF angelegt , doch irgendwie haut das nicht hin .

Meine IDE zeigt mir ziemlich viel rot an ....grml .

danke dir 

gerne auch an alle die frage ^^




```
<%-- 
    Document   : newjsp
    Created on : 16.01.2010, 20:53:42
    Author     : Spin
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<%@ page import="java.util.*"%>

<%-- Binden der Java Bean an den symbolischen Namen 'form' --%>
<jsp:useBean id="form"
             class="classes.useBean"
             scope="session"/>

<%-- Übernehmen der HTTP Partameter in die JavaBean --%>
<jsp:setProperty name="form"
                 property="name"
                 value="<%= request.getParameter(\"name\") %>" />

<jsp:setProperty name="form"
                 property="email"
                 value="<%= request.getParameter(\"email\") %>" />

<%
// Aufruf der Geschäftslogik
form.validate();

// Weiterleiten des Requests, wenn die Daten gültig sind
if(form.isValid()){
    response.sendRedirect("index.jsp");
}
%>


        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>JSP Page</title>
            </head>
            <body>
                <%-- KOdieren des URL's --%>
                <form action='<%= response.encodeURL("newjsp.jsp") %>'>
                <%-- Ausgaben von aufgetretenden Fehlern --%>
                <% if(!form.isValid()){
                    out.println("<ul>");
                    Iterator i = form.getErrors().iterator();
                    while(i.hasNext()){
                        out.println("<li>" + i.next()+"</li>");
                        }
                    out.println("</ul>");
                } %>


                Eingabe: <input type="text" name="name" /> <br/>
                         <input type="text" name="email" /> <br/>

                         <input type="reset" value="Reset" />
                         <input type="submit" value="Absenden" />
                </form>
            </body>
        </html>
```

So haut es hin , aber :



> E:\NetBeansProjects\JavaServletPages\build\generated\src\org\apache\jsp\WEB_002dINF\jsp\beanInput_jsp.java:127: 'catch' without 'try'
> } catch (Throwable t) {
> E:\NetBeansProjects\JavaServletPages\build\generated\src\org\apache\jsp\WEB_002dINF\jsp\beanInput_jsp.java:127: ')' expected
> } catch (Throwable t) {
> ...




???:L;(


----------

