Avatar billede fear Nybegynder
25. november 2001 - 17:35 Der er 18 kommentarer og
1 løsning

resin, JSP og bean\'s

jeg har lidt problemmer med at kalde en metode på en class fra min JSP side?

måske er det resin opsætningsproblemmer?

mine java class ligger i: resin-2.0.3\\doc\\WEB-INF\\classes


mine JSP sider ligger i:

C:\\resin-2.0.3\\doc\\examples

er dette rigtig opsat?


jeg får en exception der siger at min java class ikke kan findes?
Avatar billede disky Nybegynder
26. november 2001 - 08:37 #1
hvad er din app-dir sat til i resin.conf filen ?
Avatar billede fear Nybegynder
26. november 2001 - 11:08 #2
-->
  <app-dir>doc</app-dir>

Avatar billede disky Nybegynder
26. november 2001 - 11:13 #3
ret den til:

<app-dir>c:\\resin-2.0.3\\doc</app-dir>


Avatar billede fear Nybegynder
26. november 2001 - 11:30 #4
jeg har ændret det, og genstartet standalone serveren!

jeg får stadig denne fejl:

500 Servlet Exception
/examples/SaveName.jsp:1: Class _examples.Data not found.
      Data user;
      ^
/examples/SaveName.jsp:3: Class _examples.Data not found.
        user = (Data) session.getValue(\"user\");
                ^
/examples/SaveName.jsp:5: Class _examples.Data not found.
          user = new Data();
                    ^
Note: c:\\resin-2.0.3\\doc\\WEB-INF\\work\\_examples\\_savename__jsp.java uses
or overrides a deprecated API.  Recompile with \"-deprecation\" for details.
3 errors, 1 warning

Avatar billede disky Nybegynder
26. november 2001 - 11:32 #5
okay

hvad hedder dine klasse ?
Hvilken package er de i ?
Og hvor har du lagt deres .class filer ?
Avatar billede fear Nybegynder
26. november 2001 - 11:39 #6
I c:\\resin-2.0.3\\doc\\WEB-INF\\classes

ligger: UserData.class & data.class


I C:\\resin-2.0.3\\doc\\examples

ligger: NextPage.jsp, SaveName.jsp
Avatar billede disky Nybegynder
26. november 2001 - 11:47 #7
Har du defineret en package i dine .java filer ?
Avatar billede fear Nybegynder
26. november 2001 - 11:49 #8
jeg har kun en java class (UserData.class)
(ikke 2)!


her er den:

public class UserData {
    String username;
    String email;
    int age;

    public void setUsername( String value )
    {
        username = value;
    }

    public void setEmail( String value )
    {
        email = value;
    }

    public void setAge( int value )
    {
        age = value;
    }

    public String getUsername() { return username; }

    public String getEmail() { return email; }

    public int getAge() { return age; }
}


nej, jeg har ikke defineret nogen package! er det nødvendig?
Avatar billede disky Nybegynder
26. november 2001 - 11:51 #9
nej det er ikke nødvendigt.

hvordan ser data.java ud ?
Avatar billede fear Nybegynder
26. november 2001 - 11:53 #10
det er ikke nogen!

det var en fejl, at jeg skrev det!


det er kun UserData.class
Avatar billede disky Nybegynder
26. november 2001 - 11:55 #11
Du laver :
Data user;
     

i din jsp og det kræver der findes en Data.java fil.

Post lige din JSP
Avatar billede fear Nybegynder
26. november 2001 - 11:58 #12
NextPage:

<jsp:useBean id=\"user\" class=\"Data\" scope=\"session\"/>
<HTML>
<BODY>
You entered<BR>
Name: <%= user.getUsername() %><BR>
Email: <%= user.getEmail() %><BR>
Age: <%= user.getAge() %><BR>
</BODY>
</HTML>


SaveName:

<jsp:useBean id=\"user\" class=\"Data\" scope=\"session\"/>
<jsp:setProperty name=\"user\" property=\"*\"/>
<HTML>
<BODY>
<A HREF=\"NextPage.jsp\">Continue</A>
</BODY>
</HTML>


og min GetName.htm
<HTML>
<BODY>
<FORM METHOD=POST ACTION=\"SaveName.jsp\">
What\'s your name? <INPUT TYPE=TEXT NAME=username SIZE=20><BR>
What\'s your e-mail address? <INPUT TYPE=TEXT NAME=email SIZE=20><BR>
What\'s your age? <INPUT TYPE=TEXT NAME=age SIZE=4>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
Avatar billede fear Nybegynder
26. november 2001 - 11:59 #13
hov, jeg tror jeg har det!
Avatar billede disky Nybegynder
26. november 2001 - 12:00 #14
<jsp:useBean id=\"user\" class=\"Data\" scope=\"session\"/>

skal laves om til

<jsp:useBean id=\"user\" class=\"UserData\" scope=\"session\"/>
Avatar billede fear Nybegynder
26. november 2001 - 12:06 #15
ja, det skulle vel gøre det, men jeg får stadig denne fejl:

500 Servlet Exception
/examples/SaveName.jsp:1: Class _examples.UserData not found.
      UserData user;
      ^
/examples/SaveName.jsp:3: Class _examples.UserData not found.
        user = (UserData) session.getValue(\"user\");
                ^
/examples/SaveName.jsp:5: Class _examples.UserData not found.
          user = new UserData();
                    ^
Note: c:\\resin-2.0.3\\doc\\WEB-INF\\work\\_examples\\_savename__jsp.java uses
or overrides a deprecated API.  Recompile with \"-deprecation\" for details.
3 errors, 1 warning
Avatar billede disky Nybegynder
26. november 2001 - 12:09 #16
hmmmm, og du har rettet de i alle dine jsp filer ?
Avatar billede fear Nybegynder
26. november 2001 - 12:20 #17
Her er mine Jsp sider:


SaveName.jsp:

<jsp:useBean id=\"user\" class=\"UserData\" scope=\"session\"/>
<jsp:setProperty name=\"user\" property=\"*\"/>
<HTML>
<BODY>
<A HREF=\"NextPage.jsp\">Continue</A>
</BODY>
</HTML>





NextPage.jsp:

<jsp:useBean id=\"user\" class=\"UserData\" scope=\"session\"/>
<HTML>
<BODY>
You entered<BR>
Name: <%= user.getUsername() %><BR>
Email: <%= user.getEmail() %><BR>
Age: <%= user.getAge() %><BR>
</BODY>
</HTML>

Tror du ikke at det et opsætningsproblem i resin?

Her er min config fil:

<!--
  - The Resin configuration file.
  -
  - This example file is more complicated than is needs to be because
  - it makes several configurations explicit that can be simplified and
  - because it needs to configure the examples.
  -
  - Look in conf/samples for more realistic sample configurations.
  -  conf/samples/simple.conf - a simple, basic configuration
  -  conf/samples/deploy.conf - a simple configuration for deployment
  -
  - The configuration is based on a purely element-based XML.  To make
  - it easier to read, attributes can be used as syntactic sugar.
  -
  - The following are equivalent:
  - <foo><bar>13</bar></foo>  - canonical representation, but verbose
  - <foo bar=13/>            - typical configuration
  - <foo><bar id=13/></foo>  - sometimes useful
  -->
<caucho.com>

<!--
  - Resin logging.  Debugging is also available with different values
  - for id.
  -->
<log id=\'/log\' href=\'stderr:\' timestamp=\'[%Y-%m-%d %H:%M:%S.%s]\'/>

<!-- Security providers.  Adding JSSE looks like:
  - <security-provider id=\'com.sun.net.ssl.internal.ssl.Provider\'/>
  -->

<!--
  - You can change the compiler to \"javac\" or jikes.
  - The default is \"internal\" only because it\'s the most
  - likely to be available.
  -->
<java compiler=\"internal\" compiler-args=\"\"/>

<!--
  - Sample database pool configuration
  - The JDBC name is java:comp/env/jdbc/test
  -->
<resource-ref>
  <res-ref-name>jdbc/test</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <init-param driver-name=\"com.caucho.jdbc.mysql.Driver\"/>
  <init-param url=\"jdbc:mysql_caucho://localhost:3306/test\"/>
  <init-param user=\"\"/>
  <init-param password=\"\"/>
  <init-param max-connections=\"20\"/>
  <init-param max-idle-time=\"30\"/>
</resource-ref>

<!--
  - Use precompiled JSP classes if available.
  - \'static-encoding\' - optimization if you stick to one character set
  -->
<jsp precompile=\'true\' static-encoding=\'true\' recompile-on-error=\'true\'/>

<http-server>
  <!--
    - The root file directory of the server.  Apache users will change
    - this to /usr/local/apache/htdocs and IIS users will change it
    - to d:\\inetpub\\wwwroot
    -->
  <app-dir>c:\\resin-2.0.3\\doc</app-dir>

  <!-- the http port -->
  <http port=\'8080\'/>

  <!--
    - The srun port, read by both JVM and plugin
    - 127.0.0.1 is the localhost
    -->
  <srun host=\'127.0.0.1\' port=\'6802\'/>

  <!--
    - How to add SSL:
    -
    - <http port=8443>
    -  <ssl>true</ssl>
    -  <key-store-type>pkcs12</key-store-type>
    -  <key-store-file>keys/server_cert.p12</key-store-file>
    -  <key-store-password>changeit</key-store-password>
    - </http>
    -->

  <!--
    - For production sites, change class-update-interval to something
    - like 60, so it only checks for updates every minute.
    -->
  <class-update-interval>2</class-update-interval>

  <!--
    - If true, the classloader order follows the Servlet spec.
    - If false, the classloader order follows the JDK spec.
    -->
  <servlet-classloader-hack>true</servlet-classloader-hack>

  <!--
    - Select an error page to display when the connection fails.
    -
    - <error-page exception=\'connection\' location=\'/my-error-page.html\'/>
    -->

  <!-- To disable /caucho-status, set this to false -->
  <caucho-status>true</caucho-status>

  <!-- maximum number of threads -->
  <thread-max>150</thread-max>

  <!--
    - How many threads to wait for keepalives.  Should be at least the
    - number of Apache processes to get good performance.
    -->
  <thread-keepalive id=\'100\'/>

  <!--
    - How long an idle keepalive connection should listen to the socket.
    -->
  <request-timeout id=\'30s\'/>

  <!--
    - How many sockets to hold in the buffer before failing requests.
    -->
  <accept-buffer-size id=\'256\'/>
  <!--
    - Maximum number of request threads which will wait for a socket.
    -->
  <thread-min id=\'5\'/>

  <!--
    - Ping to test if the web server is still up.  You can uncomment this
    - and point it to pages on the webserver that exercise your main
    - logic (like database access).  If the GET fails, it will restart
    - the server.  This will catch deadlocks, but not JDK freezes.
    -
    - <ping sleep-time=\'1m\' retry-count=\'3\' retry-time=\'1s\'>
    -  <url>http://localhost:8080/ping/ping.jsp</url>
    - </ping>
    -->

  <!--
    - Enables/disables exceptions when the browser closes a connection.
    -->
  <ignore-client-disconnect>true</ignore-client-disconnect>

  <!--
    - Enable internal caching.
    - \'dir\' is the directory containing the cache
    - \'size\' is the memory size in kb
    - \'entries\' is the total number of entries
    -->
  <cache dir=\'cache\' size=\'1024\' entries=\'8192\'/>

  <!-- default host if no other host matches -->
  <host id=\'\'>
    <!--
      - The standalone server should uncomment for access logging.
      - With another web server, like Apache, the web server will
      - log this information.
    <access-log id=\'log/access.log\'
          format=\'%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"\'/>
      -->

    <error-log id=\'log/error.log\'/>

    <!--
      - Specifies an automatically-expanding .war dir.  Any foo.war
      - file will be expanded to a /foo application.
      -->
    <war-dir id=\'webapps\'/>

    <web-app id=\'/\'>
      <!-- how often to check servlets for changes (id used for brevity) -->
      <class-update-interval id=\'2\'/>

      <!--
        - The classpath directive may be repeated.  Source is optional
        - Servlets and beans generally belong in WEB-INF/classes
        -->
      <classpath id=\'WEB-INF/classes\'
                source=\'WEB-INF/classes\'
                compile=\'true\'/>

      <!--
        - Expires time for a cacheable file.  Production sites will
        - normally change this to \'15m\'
        -->
      <cache-mapping url-pattern=\'/\' expires=\'2s\'/>

      <!--
        - set the pages to be used as welcome (index) files
        -->
      <welcome-file-list>index.xtp, index.jsp, index.html</welcome-file-list>

      <session-config>
        <session-max>4096</session-max>
        <session-timeout>30</session-timeout>
        <enable-cookies>true</enable-cookies>
        <enable-url-rewriting>true</enable-url-rewriting>

        <!--
          - Store sessions in the filesystem, so they can persist across
          - servlet and class changes.
          -
          - Uncomment this during development.
          -->
        <!--
          -  <file-store>WEB-INF/sessions</file-store>
          -->
      </session-config>

      <!-- enable multipart-mime/form processing -->
      <!--
        - <multipart-form upload-max=\'-1\'/>
        -->

      <!--
        - special mapping so /servlet/pkg.MyServlet invokes pkg.MyServlet
        -->
      <servlet-mapping url-pattern=\'/servlet/*\' servlet-name=\'invoker\'/>

      <servlet-mapping url-pattern=\'*.xtp\' servlet-name=\'xtp\'/>
      <servlet-mapping url-pattern=\'*.jsp\' servlet-name=\'jsp\'/>

      <!--
        - The following entries configuration the examples.  You may safely
        - delete anything from here down.
        -->

      <!-- Application init parameters, see Env.java to get the values -->
      <context-param info=\'An application information string\'/>

      <!-- snoop-servlet handles all urls starting with /snoop -->
      <servlet-mapping url-pattern=\'/snoop/*\' servlet-name=\'snoop-servlet\'/>

      <!-- configure snoop-servlet with init parameters -->
      <servlet servlet-name=\'snoop-servlet\' servlet-class=\'Env\'>
        <init-param info=\'A servlet information string\'/>
      </servlet>

      <!-- /~user maps to user directories -->
      <path-mapping url-regexp=\'^/~([^/]*)\' real-path=\'/home/$1/public_html/\'/>
    </web-app>

    <!-- Define applications (ServletContexts) for the examples.
      - Since applications are entirely separate from one another,
      - including session variables and servlet-mappings, the
      - servlet-mapping declarations need to be repeated.
      -->
    <web-app id=\'java_tut\'/>

    <web-app id=\'examples/basic\'/>

    <web-app id=\'examples/tags\'/>

    <web-app id=\'examples/tictactoe\'/>

    <web-app id=\'examples/navigation\'/>

    <web-app id=\'examples/xsl\'/>

    <web-app id=\'examples/templates\'>
      <servlet-mapping url-pattern=\'/servlet/*\' servlet-name=\'invoker\'/>
      <servlet-mapping url-pattern=\'/GuestJsp\' servlet-name=\'GuestJsp\'/>
      <servlet-mapping url-pattern=\'/GuestXtp\' servlet-name=\'GuestXtp\'/>
      <servlet-mapping url-pattern=\'/RSS\' servlet-name=\'jsp.RSS\'/>

      <servlet servlet-name=\'GuestJsp\' servlet-class=\'jsp.GuestJsp\'/>
      <servlet servlet-name=\'GuestXtp\' servlet-class=\'jsp.GuestXtp\'/>
    </web-app>

    <web-app id=\'/examples/login\'/>
  </host>

  <!--
    - Known broken browsers.  These should no longer be necessary, but
    - you can uncomment them if they become a problem.
    -
    - <browser-mapping regexp=\"MSIE 4\\.0b2\" force10/>
    - <browser-mapping regexp=\"RealPlayer 4\\.0\" force10/>
    - <browser-mapping regexp=\"Java/1\\\\.0\" force10/>
    - <browser-mapping regexp=\"JDK/1\\\\.0\" force10/>
    -->
</http-server>
</caucho.com>
Avatar billede disky Nybegynder
26. november 2001 - 12:24 #18
hmm ser umiddelbart god nok ud
Avatar billede fear Nybegynder
26. november 2001 - 15:11 #19
nu virker det.

Jeg skulle importere klassen:

<%@ page import=\'UserData\' %>


Jeg siger tak for din hjælp.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester