turismo

turismo web framework

Лицензия

Лицензия

Группа

Группа

com.ghosthack
Идентификатор

Идентификатор

turismo
Последняя версия

Последняя версия

1.1.3
Дата

Дата

Тип

Тип

jar
Описание

Описание

turismo
turismo web framework
Система контроля версий

Система контроля версий

https://github.com/ghosthack/turismo

Скачать turismo

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.ghosthack/turismo/ -->
<dependency>
    <groupId>com.ghosthack</groupId>
    <artifactId>turismo</artifactId>
    <version>1.1.3</version>
</dependency>
// https://jarcasting.com/artifacts/com.ghosthack/turismo/
implementation 'com.ghosthack:turismo:1.1.3'
// https://jarcasting.com/artifacts/com.ghosthack/turismo/
implementation ("com.ghosthack:turismo:1.1.3")
'com.ghosthack:turismo:jar:1.1.3'
<dependency org="com.ghosthack" name="turismo" rev="1.1.3">
  <artifact name="turismo" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.ghosthack', module='turismo', version='1.1.3')
)
libraryDependencies += "com.ghosthack" % "turismo" % "1.1.3"
[com.ghosthack/turismo "1.1.3"]

Зависимости

provided (1)

Идентификатор библиотеки Тип Версия
javax.servlet : servlet-api jar 2.5

test (6)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.4
org.mockito : mockito-core jar 1.9.0-rc1
org.eclipse.jetty : jetty-servlet jar 7.4.5.v20110725
org.eclipse.jetty : jetty-jsp-2.1 jar 7.4.5.v20110725
org.eclipse.jetty : jetty-webapp jar 7.4.5.v20110725
org.apache.tomcat : jasper jar 6.0.33

Модули Проекта

Данный проект не имеет модулей.

turismo -- a sinatra-like Java web framework.

Build Status Javadocs Maven Central

Quick intro

public class AppRoutes extends RoutesList {
    protected void map() {
        get("/", new Action() {
            public void run() {
                print("Hello World!");
            }
        });
    }
}

Using wildcards and resource identifiers

public class AppRoutes extends RoutesList {
    protected void map() {
        get("/wildcard/*/:id", new Action() {
            public void run() {
                String id = params("id");
                print("wildcard id " + id);
            }
        });
        get("/alias/*/:id", "/wildcard/*/:id");
    }
}

Testing with standalone jetty

package com.ghosthack.turismo.example;

import com.ghosthack.turismo.action.*;
import com.ghosthack.turismo.routes.*;

public class AppRoutes extends RoutesList {

    @Override
    protected void map() {
        get("/", new Action() {
            @Override
            public void run() {
                print("Hello World!");
            }
        });
    }

    public static void main(String[] args) throws Exception{
        JettyHelper.server(8080, "/*", AppRoutes.class.getName());
    }

}

Getting started, as webapp

Using a webapp descriptor: web.xml

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">

  <servlet>
    <servlet-name>webapp-servlet</servlet-name>
    <servlet-class>com.ghosthack.turismo.servlet.Servlet</servlet-class>
    <init-param>
      <param-name>routes</param-name>
      <param-value>com.ghosthack.turismo.example.WebAppRoutes</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>webapp-servlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

</web-app>

Implementing routes

package com.ghosthack.turismo.example;

import com.ghosthack.turismo.action.*;
import com.ghosthack.turismo.routes.*;

public class WebAppRoutes extends RoutesList {

    @Override
    protected void map() {
        get("/", new Action() {
            @Override
            public void run() {
                print("Hello World!");
            }
        });
    }

}

Rendering "templates"

Using a jsp:

get("/render", new Action() {
    public void run() {
        req().setAttribute("message", "Hello Word!");
        jsp("/jsp/render.jsp");
    }
});

And the render.jsp contains:

<%=request.getAttribute("message")%>

Other mappings

Methods for GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE

post("/search", new Action() {
    public void run() {
        String query = req().getParameter("q");
        print("Your search query was: " + query)
    }
});

The default route in RoutesMap/RoutesList sends a 404. Rewire with another action:

route(new Action() {
    public void run() {
        try {
            res().sendError(404, "Not Found");
        } catch (IOException e) {
            throw new ActionException(e);
        }
    }
});

Multipart

post("/image", new Action() {
    void run() {
        MultipartRequest request = MultipartFilter.wrapAndParse(req());
        String[] meta = request.getParameterValues("image");
        byte[] bytes = (byte[]) request.getAttribute("image");
        LOG.info("type: %s, name: %s, %d bytes", meta[0], meta[1], bytes.length);
    }
});

Maven repository

<dependency>
    <groupId>com.ghosthack</groupId>
    <artifactId>turismo</artifactId>
    <version>1.1.3</version>
</dependency>

Версии библиотеки

Версия
1.1.3
1.1.1
0.1.0