使用mvc架构:有一个servlet处理最初的请求,查找数据,并将结果存储在bean中,然后将请求转发到jsp页面来提交最后的结果,在jsp页面中使用bean。
mvc最重要的概念是将商业逻辑层和数据访问层从表示层分离。
使用步骤:
1.定义bean来表示数据;
2.使用servlet处理请求,大多数情况下由servlet处理请求参数;
3.填写bean。servlet调用逻辑代码或数据访问代码,获得最后的结果,将结果保存在1.中定义的bean中;
4.将bean存储在请求、会话或servlet上下文中。servlet调用请求、会话或servlet上下文的setAttribute方法,存储结果bean的引用;
5.将请求转发到jsp页面。servlet确定哪个jsp页面适用于当前的情况,并使用RequestDispatcher的forward方法将控制转移到那个页面;
6.从bean中提取数据。通过el表达式访问。
servlet主要可以在3个位置存储在jsp页面所需的数据,它们是HttpServletRequest,HttpSession和ServletContext。
1.存储在仅由jsp页面在当前请求中使用的数据
ValueObject value = new ValueObject();
request.setAttribute( ¨key¨,value);
2.存储当前请求及同一客户的后续请求中由jsp页面使用的数据
ValueObject value = new ValueObject();
HttpSession session = request.getSession();
session.setAttribute(¨key¨,value);
3.存储当前请求及任意客户的后续请求中由jsp页面使用的数据
ValueObject value = new ValueObject();
getServletContext().setAttribute(¨key¨,value);
转发请求到jsp页面,使用RequestDispatcher的forward方法。RequestDispatcher的获取需要调用ServletRequest的getRequestDispatcher方法并提供相对地址。