How does a servlet communicate with a JSP page?

Q

How does a servlet communicate with a JSP page?

✍: Guest

A

The following code snippet shows how a servlet instantiates a bean and initializes it with FORM data posted by a browser. The bean is then placed into the request, and the call is then forwarded to the JSP page, Bean1.jsp, by means of a request dispatcher for downstream processing.

public void doPost (HttpServletRequest request,
HttpServletResponse response)
{
try {
govi.FormBean f = new govi.FormBean();
String id = request.getParameter("id");
f.setName(request.getParameter("name"));
f.setAddr(request.getParameter("addr"));
f.setAge(request.getParameter("age"));

//use the id to compute
//additional bean properties like info
//maybe perform a db query, etc.
// . . .

f.setPersonalizationInfo(info);
request.setAttribute("fBean",f);
getServletConfig().getServletContext().
getRequestDispatcher
("/jsp/Bean1.jsp").forward(request, response);
} catch (Exception ex) {
. . .
}
}

The JSP page Bean1.jsp can then process fBean, a
fter first extracting it from the default request 
scope via the useBean action.

jsp:useBean id="fBean" class="govi.FormBean" 
scope="request"/ jsp:getProperty
name="fBean" property="name" / 
jsp:getProperty name="fBean" property="addr"
/ jsp:getProperty name="fBean" 
property="age" / jsp:getProperty name="fBean"
property="personalizationInfo" /

2013-08-01, 1559👍, 0💬