[ sendai @ 11.04.2008. 06:16 ] @
Evo mene sa jos jednim pocetnickim problemom :(.
Dakle zelim deployati web aplikaciju na server.Sastoji se od jednostavnog servleta:
Code:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletsRule extends HttpServlet {
  int i = 0; // Servlet "persistence"
  public void service(HttpServletRequest req,
  HttpServletResponse res) throws IOException {
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
    out.print("<HEAD><TITLE>");
    out.print("A server-side strategy");
    out.print("</TITLE></HEAD><BODY>");
    out.print("<h1>Servlets Rule! " + i++);
    out.print("</h1></BODY>");
    out.close();
  }
}

Napravio sam WEB-INF direktorij.Struktura direktorija ide ovako:
WEB-INF -> classes -> mypackage -> MojProgram.class
U WEB-INF fajlu sam napravio i ovaj web.xml:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>
    <servlet>
        <servlet-name>ServletsRule</servlet-name>
        <servlet-class>WEB-INF/classes/mypackage/ServletsRule.class</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ServletsRule</servlet-name>
        <url-pattern>/ServletsRule</url-pattern>
    </servlet-mapping>
</web-app>

Uspjesno napravim i .war fajl.
Kada deployam aplikaciju i kliknem na launch umjesto pokrenute aplikacije daje mi stranicu na kojoj je directory listing.
Zna li netko u cemu je problem.
[ milan.dinic @ 11.04.2008. 08:13 ] @
za pocetak, popravi ovo

<servlet-class>WEB-INF/classes/mypackage/ServletsRule.class</servlet-class>


->

<servlet-class>mypackage/ServletsRule.class</servlet-class>
[ milan.dinic @ 11.04.2008. 15:29 ] @

sorry... moj previd

<servlet-class>mypackage/ServletsRule</servlet-class>
[ augustus @ 11.04.2008. 15:36 ] @
Zar ne treba ovako:
Code:
    <servlet>
        <servlet-name>ServletsRule</servlet-name>
        <servlet-class>mypackage.ServletsRule</servlet-class>
    </servlet>


uzgred nisam ni probao sa '/' umesto sa '.'
[ sendai @ 12.04.2008. 12:50 ] @
Evo popravio sam.
Probao sam i sa
Code:
<servlet-class>mypackage/ServletsRule</servlet-class>

i varijantu sa tackom
Code:
<servlet-class>mypackage.ServletsRule</servlet-class>

i opet ne radi tj. prikazuje stranicu sa directory listing. :(
U cemu bi jos mogao biti problem?
[ augustus @ 12.04.2008. 17:32 ] @
A kako ti pokusavas da startujes apliakciju?
Da li si probao ovako: http://localhost:8080/ServletsRule?

[ sendai @ 12.04.2008. 20:08 ] @
Kada koristim Sunov "Sun Java Aplication Server" deployam war.fajl kroz admin konzolu,
onda se u deployed web applications listi pojavi aplikacija.
Pored nje ima "launch" link kojim se ista i pokrece i u dokumentaciji pise da se tako provjerava je li aplikacija ispravna.Recimo da je aplikacija u fajlu "hello.war"
Onda u browseru pise:
http://localhost:8080/hello/
kad kliknem na launch link.

Kada koristim Tomcat .war fajl kopiram u <CATALINA_HOME>/webapps.
Tomcat ga odmah odpakuje i to je to.
To bi trebalo raditi kad se u browser upise
http://localhost:8080/hello/
ako se naravno aplikacija nalazi u "hello.war" ili u direktoriju "hello" (ne mora biti zapakovana).

To provjereno radi jer sam tako pokretao neke male example programe koje sam downlodao i koji su dosli sa serverima.
[ augustus @ 12.04.2008. 20:40 ] @
I mislio sam da koristis glassfish, samo sam hteo da proverim.
Meni inace tal "launch" nije uvek radio kako treba, iako je aplikacija funkcionisala.

Napravio sam gresku kad sam ti rekao da probas onaj link.
Ako imas hello.war i u njemu imas onaj servlet, izmapiran na onaj nacin onda bi trebalo da radis sledece:
http://localhost:8080/hello/ServletsRule

Ovo bi trebalo da radi. Aj kad dobijes directory listing postuj ga ovde.
[ sendai @ 12.04.2008. 21:22 ] @
Rjeseno napokon. :)
Napravio sam dosta greski pocevsi od one koju je milan.dinic nasao (napisao sam onu varijantu sa tackom), onda u source kodu nisam napisao:
Code:
package mypackage;

zatim nisam uopce napravio index.html u top-level direktoriju, ali bi vjerojatno ovaj zadnji link sto si napisao radio i bez njega.
Hvala svima.
Couldn't have done it without you. :)