Below is code for a simple Servlet(Process.java), JSP page(index.jsp) and Model(Model.java).
index.jsp:
<%@ page import="com.example.*" %>
<html>
<head>
<title> Myapp </title>
</head>
<body>
<form action="process.do" method="POST">
UserName: <input type="text" name="username">
<br>
UserID: <input type="text" name="userid">
<br>
<input type="submit">
<br>
<%
Model m = (Model) request.getAttribute("model");
if( m != null) {
out.println("Username: " + m.getUserName() );
out.println("UserID: " + m.getUserID() );
}
%>
</form>
</body>
</html>
Process.java:
package com.example;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Process extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
Model m = new Model();
m.setUserName( request.getParameter("username") );
m.setUserID( Integer.parseInt( request.getParameter("userid") ) );
request.setAttribute("model", m);
response.sendRedirect( request.getRequestURI() );
}
}
Model.java:
package com.example;
public class Model {
private String userName = "";
private int userID = -1;
public void setUserName(String userName) {
this.userName = userName;
}
public void setUserID(int userID) {
this.userID = userID;
}
public String getUserName() {
return userName;
}
public int getUserID() {
return userID;
}
}
web.xml:
<servlet>
<servlet-name>Process</servlet-name>
<servlet-class>com.example.Process</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Process</servlet-name>
<url-pattern>/process.do</url-pattern>
</servlet-mapping>
I am using Tomcat7 and I have deployed this app in context /myapp. I am able to view index.jsp page correctly, but when I submit the form, I am getting below error:
HTTP Status 405 - HTTP method GET is not supported by this URL