- A JSP File
- Deployment Descriptor (web.xml)
- A Servlet File (Normal Java File)
Jsp File (index.jsp)
<form action="test1" method="get">
<label>Name:</label>
<input type="text" name="txtname">
<input type="submit" value="Submit">
</form>
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/test1")
public class Test1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String name = request.getParameter("txtname");
PrintWriter out = response.getWriter();
out.println("<h2>Hi, I am " + name + "</h2>");
}
}
Alternative: Using web.xml
Instead of using @WebServlet, the Servlet can be mapped using the web.xml deployment descriptor. This approach is common in older Java EE applications and is still supported.
<servlet>
<servlet-name>test1</servlet-name>
<servlet-class>Test1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test1</servlet-name>
<url-pattern>/test1</url-pattern>
</servlet-mapping>
The url-pattern defines the URL path used to access the Servlet. In this example, the JSP form uses action="test1", which corresponds to the /test1 Servlet mapping.
Note: In web.xml url-pattern is the path for browser ,so any name can be used (not /test1). we need
t, so applications may require migration when moving from Tomcat 9 to Tomcat 10+