Chapter 5 - How To Develop Servlets
Chapter 5 - How To Develop Servlets
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;
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
out.println("<h1>HTML from servlet</h1>");
} finally {
out.close();
}
}
doPost(request, response);
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/test")
public class TestServlet extends HttpServlet {
...
...
Note
A servlet must implement the doGet method to process an HTTP
GET request.
<context-param>
<param-name>custServEmail</param-name>
<param-value>[email protected]</param-value>
</context-param>
<servlet>
<servlet-name>EmailListServlet</servlet-name>
<servlet-class>murach.email.EmailListServlet</servlet-class>
<init-param>
<param-name>relativePathToFile</param-name>
<param-value>/WEB-INF/EmailList.txt</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>EmailListServlet</servlet-name>
<url-pattern>/emailList</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<servlet>
<servlet-name>AddToEmailListServlet</servlet-name>
<servlet-class>email.AddToEmailListServlet</servlet-class>
<init-param>
<param-name>relativePathToFile</param-name>
<param-value>/WEB-INF/EmailList.txt</param-value>
</init-param>
</servlet>
<h2>Details</h2>
<p>Type: ${pageContext.exception["class"]}</p>
<p>Message: ${pageContext.exception.message}</p>
Note
• It’s generally considered a bad practice to override the service method. Instead,
you should override a method like doGet or doPost to handle a specific type of
HTTP request.
Chapter 5 - How to develop servlets 48
A servlet with an instance variable
package murach.email;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
@Override
public void init() throws ServletException
{
globalCount = 0; // initialize the instance variable
}
// more code
}