27 Votes
Jul 27, 2007 10:02 AM dabuTech dabu
346 Views 0 Comments

Introducing jWebApp

jWebApp is a trouble free full featured MVC web application framework that truly removes the complexities of web development and its need for configuration. jWebApp is so simple it can actually be learned in a matter of minutes. jWebApp is specifically designed to satisfy the need for simpler web development.

jWebApp provides support for all of the features you expect from a web development framework, but does not need tag libraries or extensive APIs to implement them. This allows jWebApp to actually attain the separation of concerns and allows independence in model and view technologies. You can use any model/business layer technologies, any database-access technologies, any view-rendering technologies, and plain old HTML and HTML forms (or what ever you like).

jWebApp Features:

  • An extremely easy web application framework
  • Full stack web development
  • Model-View-Controller architecture
  • Incredibly easy server side AJAX support
  • Full support for RESTful web services
  • Simple configuration free web applications
  • Easy-to-use URL to object mapping
  • Extremely small learning curve (learn in minutes)
  • All the functionality offered by other frameworks and more
  • No proprietary tag libraries and no need for any
  • Use JSP/JSTL, Velocity, or whatever you like
  • Use regular HTML and Forms
  • Optionally use any BSF compatible scripting language
  • Extensive validation support for your data
  • Easily handle forwarding, redirects, and non-secure connections
  • Easily handle SSL(https)
  • Role level security
  • Container- and application-based authentication
  • Built-in URL rewriting for handling cookie-limited browsers
  • Multipart forms and file uploads
  • Email with attachments and HTML
  • Backend direct payment processing
  • Support for regular expression matching
  • Secure file downloading and uploading
  • and tons more (with jCommonTk, jWebTk and JPersist)

jWebApp also comes with jPersist, which is an extremely powerful, object-relational database persistence API that manages to avoid the need for configuration and annotation; POJO mapping is automatic. jPersist uses JDBC and can work with any relational database and any type of connection resource.

jWebApp and jPersist make web development as easy as defining a simple Java class:

public class Customer extends RequestHandler
  {
    public String processGetCustomer(ServerInterface serverInterface) 
      {
        String customerId = serverInterface.getParameter("customerId");
        Customer customer = jpersist.loadObject(new Customer(customerId));

        serverInterface.setAttribute("customer", customer);
        
        return "/WEB-INF/customer.jsp";
      }
  } 

and creating a view with plain HTML and your favorite template markup (JSP, Velocity, etc):

<div align="center">
    <h3>Customer ${customer.firstName}, ${customer.lastName}</h3>
...
</div>

and then calling:

http://host/context/customer/getCustomer?customerId=jsmith

The following servlet configuration is all that is needed:

<servlet>
    <servlet-name>jwaRequestServlet</servlet-name>
    <servlet-class>jwebapp.RequestServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>jwaRequestServlet</servlet-name>
    <url-pattern>/customer/*</url-pattern>
</servlet-mapping>

That's it! No other XML, annotation, or configuration is needed!

You may also have noticed that jWebApp is naturally RESTful. With jWebApp, you can use the same configuration and annotation free URI mapping controller to handle REST based web services using any of the HTTP verbs that are used with REST (GET, HEAD, PUT, POST, DELETE, OPTIONS). jWebApp also supports a more formal REST mode by extending RestfulHandler and implementing the HTTP verbs. Either way, you are RESTful.


Go To Article Source/Link

Tags Agile AJAX dabuTech Framework Java jWebApp RAD REST RESTful Software Sensation URL Mapping Validation Web Development


Built With

Content Roller

Built With

jPersist - Java Persistence

Built With

jWebApp - Java Web Application Framework

Consulting Services

Software Sensation Consulting