JExpresso web framework

A java web framework inspired by expressjs to build java web application with minimal effort

License

License

GroupId

GroupId

de.yourinspiration
ArtifactId

ArtifactId

jexpresso
Last Version

Last Version

1.4.2
Release Date

Release Date

Type

Type

jar
Description

Description

JExpresso web framework
A java web framework inspired by expressjs to build java web application with minimal effort
Project URL

Project URL

https://github.com/Yourinspiration/jexpresso
Project Organization

Project Organization

Yourinspiration
Source Code Management

Source Code Management

https://github.com/Yourinspiration/jexpresso.git

Download jexpresso

How to add to project

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

Dependencies

compile (9)

Group / Artifact Type Version
org.tinylog : tinylog jar 0.9.1
org.tinylog : log4j-facade jar 0.9.1
org.slf4j : slf4j-simple jar 1.7.7
com.google.code.gson : gson jar 2.2.4
io.netty : netty-all jar 4.0.21.Final
com.google.guava : guava jar 17.0
commons-io : commons-io jar 2.4
org.mongodb : mongo-java-driver jar 2.12.3
org.mindrot : jbcrypt jar 0.3m

test (2)

Group / Artifact Type Version
junit : junit jar 4.11
org.mockito : mockito-all jar 1.9.5

Project Modules

There are no modules declared in this project.

JExpresso

A Java Web Framework inspired by http://expressjs.com/

Build Status

JExpresso implements the fantastic API of the expressjs framework in Java. The goal of JExpresso is to provide the same concise and intuitive interface of the expressjs framework in order to get a Java web application up and running with minimal effort and by just using simple POJOs (plain old Java objects).

Like expressjs JExpresso is a minimal not a full stack framework. That means that JExpresso takes care of the routing from HTTP request to your Java object methods. JExpresso provides a simple but powerful support of integration of middleware components in the style of Node.js Connect middleware.

What means minimal effort?

Minimal effort means for us that you can develop and deploy a Java web application without the need of an application server (like Tomcat, Jetty, JBoss, Glassfish), configuration (like web.xml) and the knowledge of an complex API like the Java Servlet-API. We think it should be as easy as using Node.js and expressjs to develop a Java web application.

Example

import de.yourinspiration.jexpresso.JExpresso;

public class App {
  
  private void start() {
    final JExpresso app = new JExpresso();
    
    app.get("/hello", (req, res) -> {
      res.send("<h1>Hello World!</h1>");
    });
    
    app.listen(3333, () -> {
      System.out.println("Listening on port 3333");
    });
  }
  
  public static void main(String[] args) {
  	final App app = new App();
  	app.start();
  }
  
}

Compare to expressjs

var express = require('express');
var app = express();

app.get('/hello', function(req, res){
  res.send('<h1>Hello World!</h1>');
});

app.listen(3333, function() {
    console.log('Listening on port 3333');
});

Maven

Latest stable release:

<dependency>
  <groupId>de.yourinspiration</groupId>
  <artifactId>jexpresso</artifactId>
  <version>1.4.2</version>
</dependency>

Gradle

compile 'de.yourinspiration:jexpresso:1.4.2'

New features in 1.4.0

You can now "override" the default response transformers. That means that you can use your own transformer to handle a specific content type. This is very cool when your language comes with its own library to transform objects to JSON, like groovy or golo.

jexpresso.setTransformer(yourCustomerResponseTransformer);

Versions

Version
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.1
1.1.0
1.0.0