• Skilled at deploying: JSP, JSF, Beans, Swing, Android
  • Experience with Maven, Git, Applets, Beans, EJB, JDBC
  • Skilled at running secure Java servers: Apache/Tomcat, Goldfish, Wildfly
  • Skilled at using developer environments: Netbeans, Android Studio, Eclipse, Visual Studio


Java Enterprise Edition - JEE

javax servlet - Java Server Pages (JSP)

The servlet API provides web communications using (mostly) HTTP for communicating between clients and servers.
Servlets operate within a container which manages lifecycle, mappings, security etc.

Java Server Pages (JSP) are part of the servlet API and work by embedding Java code in html pages which have the .jspx extension.
The pages are compiled to servlets when first run.

The Standard Tag Library (JSTL) provides tags to use in the html pages, which enable the simple addition of sophisticated tasks to the pages, such as conditions, SQL, XML, string manipulation etc

JSP servlets example

javax faces (JSF)

JSF provides a user interface framework for Java web applications using XML view templates called facelets. JSF 2 provides AJAX support.

JSF example

javax websocket

websocket communications use the same transport protocol and ports as http, but provide full duplex communication between a client and server.

javax el (EL)

Started off as part of JSTL, allowing access to JavaBeans through JSP, then evolved to EL.

javax ejb (EJB)

EJB is a business logic component on a server. An EJB container manages life cycle, security, transactional integrity, persistence etc.

javax persistence (JPA)

Provides persistence of entities by persisting the state of a Java class in a relational database.

javax transaction (JTA)

Provides management of resources such as relational databases, messaging services so that transactions can be committed, rolled back etc.

javax message service (JMS)

Provides a common method for Java programmes to communicate with eachother.


Spring is a framework providing all aspects of enterprise applications. It has a Model View Controller (MVC)framework, based around a DispatcherServlet, which handles all incoming and outgoing http communications with the application, and has modules that can handle data access and transactions. It allows the use of POJOs and servlet containers instead of using EJB container on a JEE application server.


Struts is an action based frameworkd for developing MVC type applications.


Hibernate is a persistence framework used to persist Java objects to a relational database.

Secure Servers

We test JEE and other projects on our cloud server which runs:

  • Goldfish
  • Apache/Tomcat
  • Wildfly

The Goldfish and Wildfly servers allow us to test the projects using the JEE technologies.

The Apache server also allows us to test PHP/MySQL projects.

When it is necessary to create .Net web applications, we run an IIS server with SQL server.

Security for the servers is provided by a Letsencrypt free certificate, which offers a CA chain.
The certificate authenticates our server/website combinations, but does not authenticate our own identity, but for our purposes this is more than sufficient and we don't need an Extended Validation certificate.
The latter could easily be added later.

Developer Environment

We have considerable experience using the following developer environments:

  • Netbeans
  • Android Studio
  • Eclipse
  • Visual Studio

Most of our projects use a combination of a developer environment to create the webapps, and Adobe Dreamweaver to provide standard html content in a highly manageable format.
In the past, we have done considerable amounts of Javascript/DOM/AJAX scripting ourselves, but now, we make more use of commercial templates that incorporate these functions.
We add HTML5 and CSS3 as necessary.