Overwrite your index.jsp file with the following code and save.
In the next page, add a description. Since this app doesn't require any initialization parameters click on Next. (We'll be adding the URL Mappings in the web.xml later).
Select the method stubs that you want. Click on Finish.
Your servlet is now created inside WebApp/src. However there will be errors because we need to add a library containing the javax.servlet package to the build path of the WebApp project.
To add the required library right click on WebApp -> Build Path -> Configure Build Path.
Click on Add External Jars in the Libraries tab.
Provide the relevant jar file from your local file system. I used servlet-api-5.5.15.jar. Click on OK.
Replace your WelcomeServlet.java with the following code and save.
package wso2.sample;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class WelcomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String userName;
public void init() throws ServletException {
userName = "default";
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
userName = (String) request.getParameter("name");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h2>" + "<font color=\"blue\">" + "Welcome " + userName
+ " :) !!" + "</font></h2>");
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
Let's now add a URL pattern for the servlet mapping in the web.xml file. The web.xml file can be found in WebApp -> WebContent -> WEB-INF. Replace your web.xml file with the following code. Save the file.
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>WebApp</display-name>
<servlet>
<description>This servlet prints a welcome message to the user.</description>
<display-name>WelcomeServlet</display-name>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>wso2.sample.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>/welcome.jsp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
We have now finished creating the web application.
4) Deploy the Web Application via Carbon Studio
In order to add a web application to Stratos Live directly from Carbon Studio we need to first create a remote server instance within Carbon Studio. Go to Window -> Show View -> Servers.
You will now see the Servers view/tab at the bottom. Right click on the Servers tab -> New -> Server.
You will now see a list of server types in this view. Scroll down to find the servers under WSO2.
Under WSO2 server types, select WSO2 Carbon remote server. Provide the server's host name and name (you can give names of your preference). Click Next.
To provide the remote Carbon server URL, you need to give the App Server URL for your tenant. The URL takes the format - https://appserver.stratoslive.wso2.com/t/(your tenant domain). In my case, it's https://appserver.stratoslive.wso2.com/t/testUser.com. Provide the username and password for your tenant. You can test the server connection by clicking the Test connection button and you can validate your credentials by clicking on the validate button as shown below. Click Next to proceed.
Now you will be able to add resources to your remote server. We need to add TestProject to the remote server, select TestProject and click on Add>. Click Finish.
Now you will see that TestProject has been added to the server. Click on the server to start the server and to deploy TestProject.
When the server has started, the server will indicate that it has started as shown below.
Let's see if our application has been properly deployed in the Application Server in Stratos Live. Open your browser and enter https://appserver.stratoslive.wso2.com/t/
(your tenant domain).Sign in to the Application Server.
After signing in, go to Manage -> Applications -> List (on the left) and you will see that TestProject has been deployed in the server successfully. The Applications list shows the list of CAR files deployed in the server.
Next go to Manage -> Web Applications -> List. You will now be able to view the web application 'WebApp' deployed in the server.
5) Deploy the Web Application manually
i) Package the Web Application inside a CAR file
There are two ways that we can package and deploy the web application. We can simply right click on WebApp -> Export -> WAR file and export the project as a WAR file. However I'll be showing how to package the Web Application as a WAR file within a CAR file.
Go to TestProject (the CApp we created). You will find that a link to the WebApp project is created under artifacts -> carbon-ui -> webapps. Now let's export TestProject as a CAR file. Double click on root-artifact.xml. Select WebApp under Existing Artifacts and click on the Create Archive button on the top right.
Create and save the CAR file. (Click here for more information on creating CAR files).
Sign-in with your tenant id and password.
When you go to the Stratos Live manager page. Click on Application Server. The Application Server is where the web app will be hosted
.
Go to Manage -> Applications -> Add.
Under Add Applications you will be able to browse for a CAR file. Choose TestProject-1.0.0.car and upload it as shown.
After the success message is displayed go to Manage -> Web Applications -> List as shown below.
You will see that WebApp is now deployed in the Application Server.
Go to Manage -> Web Applications -> List as shown below. To run/view the application click on 'Go to URL' for WebApp as shown below.
You will be taken to the index.jsp page that we created. Enter your name and press the submit button.
Next you will be directed to the WelcomeServlet.java as shown below.
And that's it :).
Our simple web application is now up and running on Stratos Live. Similarly, you can host any web application of your choice in Stratos Live.