O'Reilly logo

Java Servlet Programming, 2nd Edition by William Crawford, Jason Hunter

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 19. Odds and Ends

Every house has a junk drawer—a drawer loaded to the brim with odds and ends that don’t exactly fit into any organized drawer and yet can’t be thrown away because when they’re needed they’re really needed. This chapter is like that drawer. It holds a whole slew of useful servlet examples and tips that don’t really fit anywhere else. Included are servlets that parse parameters, send email, execute programs, use regular expression engines, use native methods, and act as RMI clients. There’s also a demonstration of basic debugging techniques, along with some suggestions for servlet performance tuning.

Parsing Parameters

If you’ve tried your hand at writing your own servlets as you have been reading through this book, you’ve probably noticed how awkward it can be to get and parse request parameters, especially when the parameters have to be converted to some non-String format. For example, let’s assume you want to fetch the count parameter and get its value as an int. Furthermore, let’s also assume that you want to handle error conditions by calling handleNoCount( ) if count isn’t given and handleMalformedCount( ) if count cannot be parsed as an integer. To do this using the standard Servlet API requires the following code:

int count;

String param = req.getParameter("count");
if (param == null || param.length() == 0) {
  handleNoCount();
}
else {
  try {
    count = Integer.parseInt(param);
  }
  catch (NumberFormatException e) {
    handleMalformedCount();
  }
}

Does this ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required