适用于简单app的正确ActiveWeb配置:服务器输出为空

时间:2014-09-11 17:47:21

标签: java web-applications activeweb

我目前正在与ActiveWeb作战。在我看来,我发现它的手册http://javalite.io/activeweb包含了大量的信息。

首先它说ActiveWeb是zer-configuration,但事实并非如此。仍需要web.xml。还需要在java中进行配置。例如,文件AppBootstrap.java应该出现在适当的位置。

其次,我还无法找到它,如何配置视图以便工作。

我有以下控制器

package app.controllers;

import java.util.Date;

import org.javalite.activeweb.AppController;

public class GreetingController extends AppController {
    public void index() {

    }

    public void hello() {
        view("date", new Date().toString());
        view("name", param("name"));

    }
}

它就像我在调试器中看到的那样工作。当我打开http://localhost:8080/testapp/greeting/hello时,达到了hello()方法中的断点。

不幸的是,位于hello.ftl的文件WEB-INF/views/greeting/hello.ftl显然被忽略了,因为浏览器输出为空。

同时,它是100%空的,即根本没有HTTP头。这指出了一些常规配置缺失的建议。

另外,我在EVER查询上有空输出,包括

http://localhost:8080/testapp

http://localhost:8080/testapp/greeting

http://localhost:8080/testapp/abracadabra

虽然有些请求应该返回错误或服务消息。

请求

http://localhost:8080/

返回404,这意味着容器正常工作。

我的web.xml如下:

<!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>
    <display-name>Archetype Created Web Application</display-name>

    <filter>
        <filter-name>dispatcher</filter-name>
        <filter-class>org.javalite.activeweb.RequestDispatcher</filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>css,images,js</param-value>
        </init-param>
        <init-param>
            <param-name>root_controller</param-name>
            <param-value>home</param-value>
        </init-param>
    </filter>


    <filter-mapping>
        <filter-name>dispatcher</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>

更新

当我从root_controller中删除web.xml参数时,服务器开始回复

上的目录列表

http://localhost:8080/testapp

其他答案仍然是空的

更新2

显然WEB-INF/views/layouts/default_layout.ftl应该出现。否则结果将为空,并且不会报告错误。

1 个答案:

答案 0 :(得分:0)

在您的应用中,某些内容肯定是错误配置的。你能在Github的某个地方发布消息吗? 您也可以克隆此应用:https://github.com/javalite/activeweb-bootstrap