top of page
Writer's pictureMonika Patel

Servlet Tutorial: Steps to Create Servlet

Servlet is a server-side Java program module that handles client requests and implements the servlet interface. Servlets can respond to any type of request, and they are commonly used to extend the applications hosted by web servers.



In order to create a servlet, we need to follow a few steps in order. They are as follows:

  1. Create a directory structure

  2. Create a Servlet

  3. Compile the Servlet

  4. Add mappings to the web.xml file

  5. Start the server and deploy the project

  6. Access the servlet

Now, let’s take an example where I will be creating a simple login servlet using HTTP Servlet and display the output in the browser.

First, I will create index.html file




<!DOCTYPE html>
<html>
<body>

	<form action="Login" method="post">
		<table>
		
			<tr>
				<td>UserName:</td>
				<td><input type="text" name="userName"></td>
			</tr>

			<tr>
				<td>UserPassword:</td>
				<td><input type="password" name="userPassword"></td>
			</tr>

		</table>

		<input type="submit" value="Login">
	</form>

</body>
</html>

Let's create a database connection file.



package com.miit.ServletDemo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseConnection {
	static Connection connection;

	public static Connection initializeDatabase() throws SQLException, ClassNotFoundException {
		Class.forName("com.mysql.cj.jdbc.Driver");
		connection = DriverManager.getConnection("jdbc:mysql://localhost:5080/java_sep","root","root");
		return connection;
	}
}

Now create a Java file.



package com.miit.ServletDemo;

import java.io.IOException;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		try {
			String username = req.getParameter("username");
			String password = req.getParameter("password");
			PreparedStatement ps = DatabaseConnection.initializeDatabase().prepareStatement("select * from registration where User_Name = ? and User_Password = ?");
			ps.setString(1, username);
			ps.setString(2, password);
			boolean status = ps.execute();
			if(status==true) {
				req.getRequestDispatcher("/home.jsp").include(req, resp);
			}
			else {
				resp.getWriter().write("Wrong UserName or Password... Try again...");
			}
			
		}  catch (SQLException | ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
}

The web.xml file will be present in the WEB-INF folder of your web content. Once you get your web.xml file ready, you need to add the mappings to it. Let’s see how mapping is done using the below example:



<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
	<display-name>Archetype Created Web Application</display-name>

	<servlet>
		<servlet-name>Login</servlet-name>
		<servlet-class>com.miit.ServletDemo</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>Login</servlet-name>
		<url-pattern>/LoginServlet</url-pattern>
	</servlet-mapping>
</web-app>

So, this is how a servlet is created and configured. Now you can run this program as Run On Server.

29 views0 comments

Recent Posts

See All

Battle of the Backends: Java vs Node.js

Comparing Java and Node.js involves contrasting two distinct platforms commonly used in backend development. Here’s a breakdown of their...

Comentários


bottom of page