голая металлическая калитка / пример кота HelloWorld - PullRequest
3 голосов
/ 21 февраля 2011

Я новичок в калитке и хотел бы развернуть простой известный helloworld из примеров wicket, но без IDE, ant или maven. Что я сделал:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">

    <display-name>Wicket Examples</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

HelloWorld.html:

<html>
  <body>
    <span wicket:id="message">Message goes here!</span>
  </body>
</html>

HelloWorld.java:

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage
{
  public HelloWorld()
  {
    add(new Label("message", "Hello World!"));
  }
}

HelloWorldApplication.java:

import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication
{
    public Class getHomePage()
    {
        return HelloWorld.class;
    }
}

калитка HelloWorld.war:

WEB-INF/
WEB-INF/web.xml
WEB-INF/classes/
WEB-INF/classes/HelloWorldApplication.class
WEB-INF/classes/HelloWorld.class
WEB-INF/classes/HelloWorld.html
WEB-INF/lib/
WEB-INF/lib/wicket-1.4.15.jar
WEB-INF/lib/slf4j-api.jar

Я не уверен, что мне нужен slf4j-api.jar для этого простого примера

При развертывании на tomcat http://localhost:8080/wicket-HelloWorld/ дает:

Запрошенный ресурс () недоступен

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Я смог заставить его работать:

1.- Я добавил slf4j-jdk14.jar. Бонус Мэннинга в действии в главе 15 бонуса был неверным. Он говорит только добавить slf4j-api.jar

2.- wicket-1.4.15.jar ДОЛЖЕН БЫТЬ В WEB-INF / lib. Попытка включить его в catalina.properties в shared.loader или в $ CATALINA_BASE / lib у меня не работает; несмотря на то, что некоторые сети рекомендуют эти места в качестве альтернативы для включения библиотек во время выполнения.

Я почти не нашел документации для создания приложений калитки, используя только javac. Я думаю, что кто-то достаточно опытный должен написать немного, как. Вы почти вынуждены использовать Maven для программирования даже самого простого приложения в wicket

С уважением и спасибо всем за помощь

Франческа

0 голосов
/ 21 февраля 2011

Трудно сказать, что не так с вашим приложением. Я создал быстрый пример для проверки конфигурации следующим образом:

$ mvn archetype:generate

Выбор wicket-archetype-quickstart (189 на моей машине), версия 1.4.15 ...

$ mvn tomcat:run

Просмотр до http://localhost:8080/wicket и приложение работает как шарм.

$ mvn package
$ cd target/wicket-1.0-SNAPSHOT/WEB-INF/lib

И эти библиотеки необходимы:

  • log4j-1.2.14.jar
  • SLF4J-апи-1.5.8.jar
  • SLF4J-log4j12-1.5.8.jar
  • калитка 1.4.15.jar

Источники:

$ cd src/main
$ tree

И моя исходная структура:

.
|-- java
|   `-- com
|       `-- blogspot
|           `-- nurkiewicz
|               |-- HomePage.html
|               |-- HomePage.java
|               `-- WicketApplication.java
|-- resources
|   `-- log4j.properties
`-- webapp
    `-- WEB-INF
        `-- web.xml

Я понимаю, что вы не хотите использовать maven (отлично, если вы учитесь и пытаетесь что-то делать с нуля), но без дополнительной информации я могу только посоветовать вам взглянуть на мой рабочий пример выше. Первый набор ваших библиотек кажется неполным.

...