Avatar billede ppstyle Nybegynder
24. juni 2002 - 16:50 Der er 6 kommentarer og
1 løsning

Mystisk resin problem

Er løbet en i et besynderligt problem, som jeg ikke lige kan se logikken i.

Følgende scenarie optræder hos mig :

har en resin server på ip: 192.168.1.81 port 80.
Den virker skide godt.

Når jeg så tilgår resinserveren ved hjælp af NAT, ude fra internettet via en router ind til vores lokanetværk, så får jeg følgende fejlmeddelelser :

500 Servlet Exception
/v2/Sider/constants.jsp:15: Package dk.v2.frontend.web.presentation
not found in import.
import dk.v2.frontend.web.presentation.*;
      ^
/v2/Sider/constants.jsp:16: Package dk.v2.frontend.web.events
not found in import.
import dk.v2.frontend.web.events.*;
      ^
/v2/Sider/constants.jsp:17: Package dk.v2.model not found
in import.
import dk.v2.model.*;
      ^
3 errors

Spørgsmål: Hvorfor virker det når man er på lokalnetværket men ikke når man prøver udefra ???

Og hvorfor kan man begge dele med tomcat, når Resin ikke vil :) ?

mvh. Daniel





Avatar billede disky Nybegynder
24. juni 2002 - 20:41 #1
okay, det er godt nok mystisk, meget mystisk.

Hvordan ser din resin.conf ud, det kan være noget med virtual domains
Avatar billede ppstyle Nybegynder
24. juni 2002 - 23:19 #2
øh, finder den lige frem imorgen ik. Men den er meget simpel.
Vender lige tilbage :)

- Daniel
Avatar billede ppstyle Nybegynder
25. juni 2002 - 10:29 #3
Hej Disky min resin.conf ser således ud :

<!--
  - 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
    -->
  <doc-dir>doc</doc-dir>

  <!-- the http port -->

<--! har ændret i port 80 --> 
    <http port='80'/>

  <!--
    - 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>
    -->

  <!--
    - If starting bin/resin as root on Unix, specify the user name
    - and group name for the web server user.
    -
    - <user-name>resin</user-name>
    - <group-name>resin</group-name>
    -->


  <!--
    - 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>false</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'/>

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

  <!--
    - servlet configuration outside the <host> is a default for all hosts.
    -->
  <servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/>
  <servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/>

  <!--
    - The "invoker" servlet invokes servlet classes from the URL.
    - /examples/basic/servlet/HelloServlet will start the HelloServlet
    - class.  In general, the invoker should only be used
    - for development, not on a deployment server, because it might
    - leave open security holes.
    -->
  <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>


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

  <!-- default host if no other host matches -->
 
<!-- her har jeg indsat følgende -->

<host id='192.168.1.81'>

<!-- slut -->

    <!--
      - 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"'
          timeout-period='1W'/>

    <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='/'>
      <!--
        - 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'/>

      <session-config>
        <session-max>4096</session-max>
        <session-timeout>300</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'/>
        -->

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

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

    <!--
      - 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'/>

<!-- her har jeg indsat følgende -->
   
  <web-app id='test_v2'/>

<!-- slut -->

    <web-app id='examples/basic'>
      <!-- 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>
    </web-app>

    <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 ppstyle Nybegynder
25. juni 2002 - 10:34 #4
Basalt set har jeg kun oprettet test_v2. Test_v2 er oprettet i "doc", som pr. default er det bibliotek resin bruger til web applikationer ik ?

Tilbage er blot at næsvne min web.xml så den får du her :

<!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>
    <servlet>
        <servlet-name>
            controller
        </servlet-name>
        <servlet-class>
            dk.reusable.web.controller.WebControllerServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>
            controller
        </servlet-name>
        <url-pattern>
            /controller/*
        </url-pattern>
    </servlet-mapping>
</web-app>
Avatar billede ppstyle Nybegynder
25. juni 2002 - 10:37 #5
Og jeg bemærker igen, jeg kan tilgå applikationen internt fra mit lan, men ikke når jeg "hopper" igennem routeren ude fra internettet. Men når jeg ligger en dummy.jsp op med 2 + 2 = 4 ( resin testen ), ja så er der ingen problemer, så selve natningen på routeren er korrekt opsat skulle jeg mene.

Bare et lille praj/forslag ville være cool, for jeg er selv rimeligt lost efterhånden.

mvh. Daniel
Avatar billede disky Nybegynder
26. juni 2002 - 14:05 #6
ser umiddelbart ok ud.

men prøv at sæt
<doc-dir>doc</doc-dir>

til absolut at pege på det sted hvor dine jsp sider ligger.

Hvad med dine classpaths hvordan er de sat op ?
Avatar billede ppstyle Nybegynder
06. august 2002 - 08:49 #7
hmm, takker for hjælpen disky, men jeg har lagt resin på is for en tid, der var for mange problemer.

mvh. Daniel
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