Skip to content

Instantly share code, notes, and snippets.

@amirdt22
Last active August 29, 2015 14:00
Show Gist options
  • Save amirdt22/11262887 to your computer and use it in GitHub Desktop.
Save amirdt22/11262887 to your computer and use it in GitHub Desktop.
CT390 Spring '14 Submission #2
package lab3.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloName
*/
@WebServlet("/HelloName")
public class HelloName extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloName() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
// if statement to check for name parameter
if (name != null){
PrintWriter out = response.getWriter();
out.println("Hello " + name);
// Set the session
HttpSession session = request.getSession(true);
String param = (String) session.getAttribute("name");
session.setAttribute("name", param);
}
// else statement if there is no parameter that is passed
else{
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
PrintWriter out = response.getWriter();
out.println("Hello " + name);
// Set the session
HttpSession session = request.getSession(true);
String param = (String) session.getAttribute("name");
session.setAttribute("name", param);
// Read the request header for cookies into an Array
Cookie[] requestCookie = request.getCookies();
// Count the Cookies by using a for loop
int count = 0;
for(Cookie cookie:requestCookie){
count++;
}
// Set the request header with info from the request and cookie for loop
response.setHeader("Cookie-Count","Hi " + name + " you have " + count + " cookies for this session.");
}
}
@rwestergren
Copy link

The code is supposed to perform the same operations, regardless of request method. Both post/get methods could be combined and defined in a separate method that's called from each method.

Your code could be reduced by not programmatically counting cookies, but accessing the count through: request.getCookies().length;

Good commenting and naming conventions of variables.

@amirdt22
Copy link
Author

There is actually an error in here, anyone?

@rwestergren
Copy link

Oh, I think the "count" variable will throw an error because it hasn't been converted to a String. String.valueOf(count)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment