All Java Web development uses the Servlet technology as the underlying technology. As such, all Java Web applications have certain issues that need to be addressed:
User Interface. The user interface is what the client browser renders as HTML tags. Any server-smy_id321e component used in the application must be encoded into the corresponding HTML elements. Besmy_id321es for displaying the content and data, the user interface is also responsible in receiving input from the user.69138
Input Valmy_id321ation. User input needs to be valmy_id321ated. There are two types of input valmy_id321ation, server-smy_id321e and client-smy_id321e. As the name implies, the server-smy_id321e input valmy_id321ation is performed on the server after the input reaches the server. Client-smy_id321e input valmy_id321ation is done on the browser, usually by using JavaScript or other scripting languages. The advantages of using client-smy_id321e input valmy_id321ation are prompt response and reducing the server workload. The server-smy_id321e input valmy_id321ation should always be performed regardless the presence of client-smy_id321e valmy_id321ation because there is no guarantee the user browser's scripting feature is being on and malicious users can easily work around client-smy_id321e valmy_id321ation.
Model Objects. Model objects in Java-based Web applications are in the forms of JavaBeans. Model objects make up the Model part of the MVC based design model. A
model object can be used to bind a component value to be used at a later stage. In addition, it can encapsulate business logic required for processing.
Page Navigation. Almost all Web applications have multiple pages that the user can navigate from one to another. All MVC-based design models use a servlet as the Controller part. This servlet also acts as the sole entry point to the application. Which page to be displayed after the current request is determined by the value of a specified request parameter. Managing page navigation is critically important.
Function Environment
The software and hardware details for our experiments are described below. The Servlet Container
A Java Web application runs in a servlet container, which is the engine that processes the incoming HTTP requests for the resources in the application. For this research project, we use Tomcat, an open source servlet container from the Apache Software Foundation. The version we use is 6.0.Basically, a servlet container processes a servlet by performing the following tasks:
- Creating the HttpRequest Object
- Creating the HttpResponse Object
- Calling the service method of the Servlet interface, passing the HttpRequest
HttpResponse objects. Testing Clients
For performance testing, we emulate multiple users using JMeter 1.9 , also from
the Apache Software Foundation. JMeter allows the user to choose the number of threads to perform testing. Each thread emulates a different user. JMeter also lets us choose how many times a test will be done. To test a Web application using JMeter, you direct requests to certain IP address, context path, and port number. You can also specify request parameters to be included in each HTTP request. As the output, JMeter notifies the response time of the server in milliseconds for a test. From the response time, we derive the number of hits/seconds the server is capable of serving.
Hardware
We use different computers for running the applications and for testing, so as to obtain maximum performance measurement accuracy. The computer running the application is a XP machine having the following hardware specifications: Intel Core 1GHz CPU with 1G RAM. The computer running the testing clients is a Windows 2000 machine running JMeter. The computer has the following specifications: Intel Core 1GHz CPU with 1G RAM.