2013-05-11 3 views
0

Я создаю проект для wicket example hello world, и я запускаю приложение, но показываю страницу show HTTP Status 404 - и описание: Запрошенный ресурс() недоступен.HTTP Status 404 - hello world wicket

это мой исходный код: HelloWorld.java

package com.wicket.hello; 

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

public class HelloWorld extends WebPage { 

/** 
* 
*/ 
private static final long serialVersionUID = 1L; 

public HelloWorld(final PageParameters pageParameters) { 
    add(new Label("message", "Hello World")); 
} 
} 

Это мой исходный код: HelloWorld.html

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

Это мой исходный код: HelloWorldApplication.java

package com.wicket; 

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

import com.wicket.hello.HelloWorld; 

public class HelloWorldApplication extends WebApplication { 

    @Override 
    public Class<? extends Page> getHomePage() { 
     // TODO Auto-generated method stub 
     return HelloWorld.class; 
    } 

} 

Это мой источник: web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>WicketApp</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>com.wicket.HelloWorldApplication</param-value> 
     </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>HelloWorldApplication</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
</web-app> 

Это мой источник: pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>WicketApp</groupId> 
    <artifactId>WicketApp</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <dependencies> 
     <dependency> 
      <groupId>org.apache.wicket</groupId> 
      <artifactId>wicket</artifactId> 
      <version>1.4.17</version> 
     </dependency> 

     <!-- slf4j-log4j --> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.5.6</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <configuration> 
        <warSourceDirectory>WebContent</warSourceDirectory> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

спасибо за вашу помощь.

+0

Какой URL вы с просьбой получить 404? – bert

+0

Что находится в файле 'context.xml'? Путь должен быть равен «" « – BSeitkazin

ответ

0

Вы можете попробовать удалить часть warsourcedirectory вашего pom.xml.

Есть ли причина использовать старый 1.4.x вместо версии 6.x (форсирование jdk7 означает, что вы нацеливаете обновленную систему)?

+0

okey, я изменяю свою версию wicket до 6.7.0 и мой jdk7, но просмотр в приложении запуска такой же HTTP 404. что я не так? – mogi

+0

Вы удалили часть WarSourceDirectory своего pom.xml, мне это кажется странным? –

0

добавить ниже кода в pom.xml внутри сборки, это добавит HTML-файлы в папку развертываемых классов, и ваш issue'll решить

<resources> 
<resource> 
    <filtering>false</filtering> 
<directory>src/main/resources</directory> 
</resource> 
<resource> 
    <filtering>false</filtering> 
    <directory>src/main/java</directory> 
    <includes> 
     <include>**</include> 
    </includes> 
    <excludes> 
     <exclude>**/*.java</exclude> 
    </excludes> 
</resource>