Download Java And XSLT

Transcript
Example 7-33. ViewMonthReqHandler.java
package com.oreilly.forum.servlet;
import
import
import
import
import
import
com.oreilly.forum.*;
com.oreilly.forum.adapter.*;
com.oreilly.forum.domain.*;
java.io.*;
javax.servlet.*;
javax.servlet.http.*;
/**
* Handle a request to view a month for a message board.
*/
public class ViewMonthReqHandler extends ReqHandler {
protected String getPathInfo(
return "viewMonth";
}
) {
protected Renderer doGet(HttpServlet servlet, HttpServletRequest
request,
HttpServletResponse response)
throws IOException, ServletException {
try {
DataAdapter adapter = DataAdapter.getInstance( );
// these are all required parameters
long boardID = 0L;
int month = 0;
int year = 0;
try {
boardID =
Long.parseLong(request.getParameter("boardID"));
month = Integer.parseInt(reques t.getParameter("month"));
year = Integer.parseInt(request.getParameter("year"));
} catch (Exception ex) {
return new ErrorRenderer("Invalid request");
}
BoardSummary board = adapter.getBoa rdSummary(boardID);
if (board == null) {
return new ErrorRenderer("Invalid request");
}
return new ViewMonthRenderer(board, new MonthYear(month,
year));
} catch (DataException de) {
return new ErrorRenderer(de);
}
}
}
Throughout this application, a seemingly harsh approach to error handling is followed. If any
"impossible" requests are detected, the user is presented with a terse error message:
try {
boardID = Long.parseLong(request.getParameter("boardID"));
month = Integer.parseInt(request.getParameter("month"));